Ошибка компилятора C2778
неправильно сформирован guid в __declspec(uuid())
Неверный GUID предоставляется расширенному атрибуту uuid .
GUID должен быть строкой шестнадцатеричных чисел со следующим форматом:
// C2778a.cpp
// compile with: /c
struct __declspec(uuid("00000000-0000-0000-0000-000000000000")) A {};
struct __declspec(uuid("{00000000-0000-0000-0000-000000000000}")) B{};
Расширенный uuid
атрибут принимает строки, распознанные CLSIDFromString, с разделителями фигурных скобок или без нее.
Следующий пример приводит к возникновению ошибки C2778:
// C2778b.cpp
struct __declspec(uuid(" 00000000-0000-0000-0000-000000000000 ")) C { }; // C2778
struct __declspec(uuid("00000000000000000000000000000000")) D { }; // C2778