में __uuidof के लिए वैकल्पिक मैं एक सी परियोजना के साथ काम कर रहा हूं जो डायरेक्टएक्स का उपयोग कर रहा है और मैंने एक समस्या में भाग लिया है। कुछ डीएक्स कॉलों को IID
ऑब्जेक्ट की आवश्यकता होती है, आमतौर पर __uuidof
के साथ उत्पन्न होती है। RenderTargetView बनाने के लिए यह एक चीज आवश्यक है। DirectX नमूने/ट्यूटोरियल ऐसा करते हैं:सी
ID3D11Texture2D* pBackBuffer = NULL;
hr = g_pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&pBackBuffer);
जब मैं अपने सी कोड में __uuidof
कॉल करने के लिए प्रयास करते हैं, मैं एक संकलक त्रुटि मिलती है: Error 19 error C4233: nonstandard extension used : '__uuidof' keyword only supported in C++, not C
। डायरेक्टएक्स में सी इंटरफ़ेस है, इसलिए मुझे लगता है कि ऐसा करने का एक तरीका होना चाहिए, लेकिन मुझे नहीं पता कि यह क्या होगा। किसी को पता है?
सी प्रोग्रामर आमतौर पर यूयूआईडी को अपनी स्रोत फ़ाइल में कहीं भी स्थिर के रूप में परिभाषित करते हैं। –