我目前正在试验Holographic Remoting,并发现通常由 Windows 实现的 Holographic API 的各个部分来自其他地方。
例如,我HolographicSpace
来自Microsoft.Perception.Simulation.dll
上面链接的库。
我很想知道这是如何完成的,所以我创建了一个新的 C++/WinRT 组件并尝试从Windows.Graphics.Holographic.IHolographicSpace
我的.idl
文件中派生,但 MIDL 编译器会给我这个错误消息:
error MIDL5051: [msg]use of the [exclusiveto] interface is not valid, use the runtimeclass for which this interface is exclusiveto instead
.
很公平,否则有什么用[exclusiveto]
?
但是,问题仍然存在:外部组件如何假装它实现了 Windows 命名空间中的类型?我的意思是理论上我可以使用implements<>
结构模板并在我的类型上实现所有必需的 COM 接口,但这与整个 MIDL 工具链不能很好地配合,因为我的代码部分是从中生成的。