मैन्युअल रूप से एक फ़ंक्शन लिखने का छोटा जो कुछ ज्ञात REFIID को नामों में अनुवाद करता है, जैसे:एक आरईएफआईआईडी को एक सहायक नाम में अनुवाद करने के लिए कोई ओएस फ़ंक्शन है?
if (riid == IID_IUnknown) return "IUnknown";
if (riid == IID_IShellBrowser) return "IShellBrowser";
...
क्या कोई सिस्टम कॉल है जो अच्छी तरह से ज्ञात (या यहां तक कि सभी) REFIIDs के लिए उचित डीबगिंग स्ट्रिंग वापस कर देगी?
कभी भी, 'पकड़ (...) 'का उपयोग न करें। इसके लिए कई अलग-अलग दार्शनिक कारण हैं, लेकिन यदि आप व्यावहारिक होना चाहते हैं: "Vista के लिए डिज़ाइन" सत्यापन पास करने के लिए, आपके एप्लिकेशन को उल्लंघन उल्लंघन अपवादों को कभी भी पकड़ने की आवश्यकता नहीं है। आपके कंपाइलर सेटिंग्स के आधार पर, 'पकड़ें (...)' बस यही करता है। –
इसके अलावा, एक एमएफसी या एटीएल अनुप्रयोग में ओएलई स्ट्रिंग (यानी बीएसटी) का प्रबंधन करने के लिए, 'CComBSTR' कक्षा का उपयोग करें। –
ओएलई स्ट्रिंग के सभी ओवरहेड को आमंत्रित करने का कोई कारण नहीं है। हां, इसके लिए तंत्र हैं, लेकिन क्या? वे सिर्फ GUID को व्यक्त करने के तरीके को नहीं बदल सकते हैं और बदल सकते हैं, इसलिए यह एक चलती लक्ष्य नहीं है, इसलिए अपना खुद का, अधिक कुशल समाधान रोल करके कोई जोखिम नहीं लिया गया है। – Mordachai