__uuidof の演算子
Microsoft 固有の仕様 →
式に割り当てられた GUID を取得します。
__uuidof (
expression
)
解説
式は 型名ポインター参照としたりその型これらの型に特化したテンプレートまたはこれらの変数の配列は入力します。引数はアタッチされた GUID を検索するにはコンパイラで使用できる限り有効です。
この組み込みの特殊なケースが 0 または null が引数として指定されます。この場合__uuidof はゼロから構成される GUID を返します。
アタッチされた GUID を抽出するためこのキーワードの使用 :
[!メモ]
デバッグ ビルドでは__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);
}
コメント
ライブラリ名のスコープにもう存在しない場合は__uuidof の代わりに __LIBID_ を使用できます。次に例を示します。
StringFromCLSID(__LIBID_, &lpolestr);
終了 Microsoft 固有の仕様→