替代__uuidof在C

前端之家收集整理的这篇文章主要介绍了替代__uuidof在C前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一个使用DirectX的C项目,我遇到了一个问题.某些DX调用需要一个IID对象,通常用__uuidof生成.需要一件事是创建一个RenderTargetView. DirectX示例/教程执行此操作:
ID3D11Texture2D* pBackBuffer = NULL;
hr = g_pSwapChain->GetBuffer( 0,__uuidof( ID3D11Texture2D ),( LPVOID* )&pBackBuffer );

当我尝试在我的C代码调用__uuidof时,我得到一个编译器错误错误19错误C4233:使用非标准扩展名:’__uuidof’关键字只支持C,而不是C. DirectX有一个C接口,所以我想必须有这样做的方法,但我不知道会是什么.有人知道吗

解决方法

__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;

使用这个而不是__uuidof(ID3D11Texture2D).

猜你在找的C&C++相关文章