Sto lavorando con un progetto C che utilizza DirectX e ho incontrato un problema. Alcune chiamate DX richiedono un oggetto IID
, in genere generato con __uuidof
. Una cosa è necessaria per creare un RenderTargetView. I campioni DirectX/tutorial fanno questo:Alternativa a __uuidof in C
ID3D11Texture2D* pBackBuffer = NULL;
hr = g_pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&pBackBuffer);
Quando provo a chiamare __uuidof
nel mio codice C, ottengo un errore del compilatore: Error 19 error C4233: nonstandard extension used : '__uuidof' keyword only supported in C++, not C
. DirectX ha un'interfaccia C, quindi immagino ci debba essere un modo per farlo, ma non ho idea di cosa sarebbe. Qualcuno sa?
I programmatori C in genere definiscono l'UUID come una costante da qualche parte nel loro file sorgente. –