32 位 DirectShow 过滤器可以在 64 位 Windows 上工作吗?

Will a 32-bit DirectShow filter work on a 64-bit Windows?

具体来说,在 .AX 文件中获得了一个 DirectShow 过滤器库,其中包含从 MPC/Guliverkli SourceForge 页面下载的 Guliverkli MP4 分离器(版本“20050310”)。

我正在使用 GraphStudioNext(64 位版本)试验不同的 DirectShow MPEG-4 分离器,但现在我看到它无法从文件导入过滤器(图形 -> 从文件导入过滤器),给我错误当我尝试在 AX 文件中搜索过滤器 CLSID 时出现 0x800700C1。

我怀疑这与以下事实有关:过滤器是 32 位 DLL(扩展名 AX,但无论如何),而系统及其 DirectShow 子系统是 64 位的(Windows 7 ).

是这些东西的本质吗?我根本不能在这里使用 32 位过滤器?

也试过regsvr32 MP4Splitter.ax,但出现错误 0x80070005,我认为问题大致相同,但包装不同。

我尝试使用 64 位过滤器进行比较——MPEG-4 splitter from GDCL——它被顺利导入到上面的 Graph Studio Next 中。

我特别想知道的是——能否在 64 位系统上安装 32 位 DirectShow 过滤器,如果可以,我是不是走错了路?

What I want to know specifically is -- can a 32-bit DirectShow filter be installed on 64-bit system, and if it could, am I going about it wrong way?

在 64 位 OS 中,32 位应用程序使用 32 位过滤器(.DLL、.A​​X 等),64 位应用程序使用 64 位过滤器。

更具体地说,GraphStudioNext 的 32 位版本仅适用于(列出、使用等)32 位过滤器。 64 位的 GraphStudioNext 仅处理 64 位过滤器。

您在尝试使用上述过滤器时遇到的问题是特定于这些过滤器甚至构建的(例如,缺少依赖项或使用 DEP 不友好的编译器构建等)。