2009-02-17 13 views
8

में एक गाइड कैसे बना सकता हूं मुझे फ्लाई पर गिट बनाने में सक्षम होना चाहिए। क्या एमएफसी में ऐसा करने का कोई तरीका है? मैं देखता हूं कि इसे .NET में कैसे करना है, लेकिन हम अभी तक वहां नहीं गए हैं। यदि नहीं, तो क्या आपके पास कुछ कोड के पॉइंटर्स हैं जिनका मैं उपयोग कर सकता हूं?मैं एमएफसी

उत्तर

10
GUID guid; 
HRESULT hr = CoCreateGuid(&guid); 

// Convert the GUID to a string 
_TUCHAR * guidStr; 
UuidToString(&guid, &guidStr); 

आवेदन RpcStringFree बुला स्मृति पुनःआवंटन करने के लिए जिम्मेदार है StringUuid पैरामीटर में वापस स्ट्रिंग के लिए आवंटित।

5

समारोह UuidCreate का प्रयोग करें GUIDs उत्पन्न करने के लिए:

UUID generated; 

if (::UuidCreate(&generated) != RPC_S_OK) 
throw std::exception(...); 
6

आप COM समारोह CoCreateGuid, जैसे उपयोग कर सकते हैं:

GUID guid; 
HRESULT hr = CoCreateGuid(&guid); 
8
//don't forget to add Rpcrt4.lib to your project 

    CString m_ListID(L"error"); 
    RPC_WSTR guidStr; 
    GUID guid; 
    HRESULT hr = CoCreateGuid(&guid); 
    if (hr == S_OK) 
    { 
     if(UuidToString(&guid, &guidStr) == RPC_S_OK) 
     { 
      m_ListID = (LPTSTR)guidStr; 
      RpcStringFree(&guidStr); 
     } 
    } 
+0

+1 उपयोग कर सकते हैं। प्रोजेक्ट में Rpcrt4.lib जोड़ने के बारे में नोट के लिए – Jichao

+0

+1 – mrt

1

आपको त्रुटि से निपटने के लिए इस नमूने

WCHAR  GuidText[250] ={0}; 
UUID  uuid; 

CoCreateGuid (&uuid); 
wsprintf(
     GuidText, 
     L"%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", 
     uuid.Data1, 
     uuid.Data2, 
     uuid.Data3, 
     uuid.Data4[0], uuid.Data4[1], 
     uuid.Data4[2], uuid.Data4[3], uuid.Data4[4], uuid.Data4[5], uuid.Data4[6], uuid.Data4[7] 
     ); 
संबंधित मुद्दे