__uuidof
演算子
Microsoft 固有の仕様
式にアタッチされている GUID を取得します。
構文
__uuidof (
式 (expression))
解説
expression は、その型の型名、ポインター、参照、または配列、それらの型に特化したテンプレート、またはそれらの型の変数にすることができます。 引数は、アタッチされた GUID を見つけるためにコンパイラが使用できる限り有効です。
この組み込みの特殊なケースは、引数として 0 または NULL が指定される場合です。 この場合、__uuidof
はゼロで構成された GUID を返します。
このキーワードを使用すると、次のものにアタッチされている GUID を抽出できます。
Note
デバッグ ビルドでは、__uuidof
は常にオブジェクトを動的に (実行時に) 初期化します。 リリース ビルドでは、__uuidof
は静的に (コンパイル時に) オブジェクトを初期化できます。
以前のバージョンとの互換性を確保するために、_uuidof
は、コンパイラ オプション /Za
(言語拡張機能の無効化) が指定されていない限り、__uuidof
の同意語です。
例
次のコード (ole32.lib でコンパイル) は、module 属性で作成されたライブラリ ブロックの 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 固有の仕様はここまで
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示