72 std::ios_base::fmtflags f(s.flags());
73 s << std::hex << std::setfill(
'0')
74 << std::setw(2) << (int)guid.
_bytes[0]
75 << std::setw(2) << (int)guid.
_bytes[1]
76 << std::setw(2) << (int)guid.
_bytes[2]
77 << std::setw(2) << (int)guid.
_bytes[3]
79 << std::setw(2) << (int)guid.
_bytes[4]
80 << std::setw(2) << (int)guid.
_bytes[5]
82 << std::setw(2) << (int)guid.
_bytes[6]
83 << std::setw(2) << (int)guid.
_bytes[7]
85 << std::setw(2) << (int)guid.
_bytes[8]
86 << std::setw(2) << (int)guid.
_bytes[9]
88 << std::setw(2) << (int)guid.
_bytes[10]
89 << std::setw(2) << (int)guid.
_bytes[11]
90 << std::setw(2) << (int)guid.
_bytes[12]
91 << std::setw(2) << (int)guid.
_bytes[13]
92 << std::setw(2) << (int)guid.
_bytes[14]
93 << std::setw(2) << (int)guid.
_bytes[15];
106 CoCreateGuid(&newId);
108 std::array<unsigned char, 16> bytes =
110 (
unsigned char)((newId.Data1 >> 24) & 0xFF),
111 (
unsigned char)((newId.Data1 >> 16) & 0xFF),
112 (
unsigned char)((newId.Data1 >> 8) & 0xFF),
113 (
unsigned char)((newId.Data1) & 0xff),
115 (
unsigned char)((newId.Data2 >> 8) & 0xFF),
116 (
unsigned char)((newId.Data2) & 0xff),
118 (
unsigned char)((newId.Data3 >> 8) & 0xFF),
119 (
unsigned char)((newId.Data3) & 0xFF),
121 (
unsigned char)newId.Data4[0],
122 (
unsigned char)newId.Data4[1],
123 (
unsigned char)newId.Data4[2],
124 (
unsigned char)newId.Data4[3],
125 (
unsigned char)newId.Data4[4],
126 (
unsigned char)newId.Data4[5],
127 (
unsigned char)newId.Data4[6],
128 (
unsigned char)newId.Data4[7]
131 return Guid{ std::move(bytes) };