到目前为止,我确实获得了大部分DirectX内容。但是使用SharpDX我一再偶然发现同一个问题:
如何实例化或获取只在其构造函数中使用IntPtr
的类的实例?我不明白为什么DXGI Factory
接口/类(Factory和Factory1 - Factory5)有6种变体。有些可以通过构造函数实例化,有些只能通过传递IntPtr
来构造。
现在我需要PixelFormatInfo
和PixelFormatInfo2
个对象(WIC)来获取BitmapSource
的每个像素的位数。
我已经尝试过使用ImagingFactory2
可以实例化然后使用QueryInterface(Guid, out IntPtr)
但是这只会在我传入像素格式GUID时抛出异常(非现有接口)BitmapSource
1}}。
那么这是如何工作的?我如何获得我需要的指针?如何?在C ++中,这可以通过使用__uuidof
宏来获取接口的GUID - 但在C#中我无从知晓。并且没有关于哪个接口具有哪个GUID的参考。