Windows runtime 使用C++/来自WRL声明的CX

Windows runtime 使用C++/来自WRL声明的CX,windows-runtime,Windows Runtime,我有此WRL声明(取自MS提供的样本的灰度过滤器): class CGrayscale:公共运行时类< RuntimeClassFlags, Imedia扩展, 内模转化 > 如何将该类转换为C++/CX? 我需要这样做的原因是,在同一个DLL中,我使用C++/CX定义了一些类,这些类在后台自动为这些类生成类工厂(从我的DLL导出的DllGetActivationFactory)。自动C++/CX类工厂声明与我必须为WRL定义的运行时类执行的类工厂声明冲突 因此,将WRL声明转换为C++/CX

我有此WRL声明(取自MS提供的样本的灰度过滤器):

class CGrayscale:公共运行时类<
RuntimeClassFlags,
Imedia扩展,
内模转化
>
如何将该类转换为C++/CX? 我需要这样做的原因是,在同一个DLL中,我使用C++/CX定义了一些类,这些类在后台自动为这些类生成类工厂(从我的DLL导出的DllGetActivationFactory)。自动C++/CX类工厂声明与我必须为WRL定义的运行时类执行的类工厂声明冲突

因此,将WRL声明转换为C++/CX似乎是最简单的方法。如果无法使用C++/CX定义该类,我可以如何使WRL和C++/CX定义的运行时类在同一dll中共存(例如,可发现)

class CGrayscale: public RuntimeClass<
                             RuntimeClassFlags<WinRtClassicComMix>,
                             IMediaExtension,
                             IMFTransform
                          >