Я работаю с проектом C, использующим DirectX, и у меня возникла проблема. Для некоторых вызовов DX требуется объект IID
, обычно генерируемый с помощью __uuidof
. Для этого требуется создать RenderTargetView. Образцы DirectX/учебники сделать это:Альтернатива __uuidof в C
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, поэтому я предполагаю, что должен быть способ сделать это, но я понятия не имею, что это будет. Кто-нибудь знает?
Программисты C обычно просто определяют UUID как константу где-то в своем исходном файле. –