コンパイラ エラー C2787

'identifier' : このオブジェクトに関連付けられた GUID はありません

__uuidof 操作は、GUID がアタッチされたユーザー定義型、またはそのようなユーザー定義型のオブジェクトを取ります。 このエラーは、引数が GUID のないユーザー定義型である場合に発生します。

次の例では C2787 が生成されます。

// C2787.cpp
#include <windows.h>
struct F {};

struct __declspec(uuid("00000000-0000-0000-c000-000000000046")) F2;

int main() {
   __uuidof(F);   // C2787
   __uuidof(F2);   // OK
}