В шаге "Шаг 16 - GUIDGEN" рассказывалось как получить GUID с помощью специальной утилиты. Но его можно получить и программным путем. Для этого и существует функция CoCreateGuid():
HRESULT CoCreateGuid ( GUID *pguid // указатель на структуру GUID );
Вот пример:
// TestGenerate.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "objbase.h" #include "iostream.h" void main() { HRESULT hr; GUID guid; hr=CoCreateGuid(&guid); if (!FAILED(hr)) { LPOLESTR szGUID = new WCHAR [39]; StringFromGUID2(guid,szGUID,39); wprintf(L"Inherited ObjectType GUID: %s\n",szGUID); } else cout << "Error create Guid" << endl; }
В результате в окне Вы увиде сформированный GUID:
Inherited ObjectType GUID: {75A73880-02BF-11D5-B4A9-E0034BC10000} Press any key to continue
Только сам GUID будет другим, ведь он же уникальный.