共用方式為


__uuidof 運算子

Microsoft 專有的

擷取附加到運算式的 GUID。

__uuidof (
   expression 
)

備註

運算式可以是型別名稱、 指標、 參考或該型別的陣列,這些型別或這些型別的變數上進行特製化樣板。 引數無效,因為編譯器可以用它來尋找附加的 GUID。

此內建的一個特殊情形就是不論是哪一 0NULL 提供做為引數。 如此一來, __uuidof會傳回零所組成的 GUID。

使用這個關鍵字來擷取附加到的 GUID:

  • 物件的 uuid 的延伸的屬性。

  • 使用所建立的文件庫區塊模組屬性。

注意事項注意事項

在偵錯組建中, __uuidof一定會初始化物件以動態 (於執行階段)。在發行組建中, __uuidof可能會以靜態方式 (在編譯時期) 初始化物件。

範例

下列程式碼 (使用 ole32.lib 編譯) 會顯示該模組屬性以建立文件庫區塊的 uuid:

// expre_uuidof.cpp
// compile with: ole32.lib
#include "stdio.h"
#include "windows.h"

[emitidl];
[module(name="MyLib")];
[export]
struct stuff {
   int i;
};

int main() {
   LPOLESTR lpolestr;
   StringFromCLSID(__uuidof(MyLib), &lpolestr);
   wprintf_s(L"%s", lpolestr);
   CoTaskMemFree(lpolestr);
}

註解

在範圍中不再是程式庫名稱的情況下,您可以使用 __LIBID_,而不是__uuidof。 例如:

StringFromCLSID(__LIBID_, &lpolestr);

結束 Microsoft 特定

請參閱

參考

一元 (unary) 運算子的運算式

C + + 關鍵字