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

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

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

Когда я пытаюсь вызвать __ uuidof в моем коде C, я получаю сообщение об ошибке компилятора: Ошибка 19, ошибка C4233: использовано нестандартное расширение: ключевое слово '__uuidof' поддерживается только в C ++, но не в C . DirectX имеет интерфейс C, поэтому я полагаю, что должен быть способ сделать это, но я понятия не имею, что это будет. Кто-нибудь знает?

12
задан alk 27 January 2017 в 11:50
поделиться