Альтернатива __uuidof в C

Я работаю с проектом C, использующим DirectX, и у меня возникла проблема. Для некоторых вызовов DX требуется объект IID, обычно генерируемый с помощью __uuidof. Для этого требуется создать RenderTargetView. Образцы/учебники DirectX делают это:

ID3D11Texture2D* pBackBuffer = NULL;
hr = g_pSwapChain->GetBuffer( 0, __uuidof( ID3D11Texture2D ), ( LPVOID* )&pBackBuffer );

Когда я пытаюсь вызвать __uuidof в моем C-коде, я получаю ошибку компилятора: Error 19 error C4233: nonstandard extension used : '__uuidof' keyword only supported in C++, not C. DirectX имеет интерфейс C, поэтому я предполагаю, что должен быть способ сделать это, но я понятия не имею, что это будет. Кто-нибудь знает?

Ответ 2

вам нужно найти uuid или "guid" класса. он должен быть в каком-либо заголовке в файле directx sdk (старше) или в Platform SDK (в Windows Vista и Windows 7) - зависит от того, что вы используете.