Kyl*_*yle 12 c directx uuid guid visual-studio
我正在使用一个使用DirectX的C项目,但我遇到了一个问题.某些DX调用需要一个IID对象,通常用__uuidof.这需要做的一件事是创建一个RenderTargetView.DirectX示例/教程执行此操作:
ID3D11Texture2D* pBackBuffer = NULL;
hr = g_pSwapChain->GetBuffer( 0, __uuidof( ID3D11Texture2D ), ( LPVOID* )&pBackBuffer );
Run Code Online (Sandbox Code Playgroud)
当我尝试调用__uuidof我的C代码时,我收到编译器错误:Error 19 error C4233: nonstandard extension used : '__uuidof' keyword only supported in C++, not C.DirectX有一个C接口,所以我想必须有办法做到这一点,但我不知道它会是什么.谁知道?
rko*_*egi 14
__uuidof仅在C++中可用,如所描述的错误.我想你已经有了DX头文件中可用的C接口的GUID定义.
http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/1306b57f-4b75-4f0c-b4f3-9bcc1e3a0dd6
来自d3d11.h:
EXTERN_C const IID IID_ID3D11Texture2D;
Run Code Online (Sandbox Code Playgroud)
用它代替__uuidof(ID3D11Texture2D).