ポインタ変数 PVOID lpbuffer はメモリ アドレスを指します、
変数 GUID g = {0x25a207b9,0xddf3,0x4660,{0x8e,0xe9,0x76,0xe5,0x8c,0x74,0x06,0x3e}};
ポインタ lpbuffer が指すコンテンツが GUID と等しいかどうかを確認するにはどうすればよいですか?
MSDNのGUID構造の定義によると
GUID はオーバーロードされた == 演算子を持たない構造であるため、2 つの GUID を比較する場合は、== 演算子を実装するか、メンバー変数を 1 つずつ正直に比較する必要があります。
2 つの状況があります:
GUID 型が == 演算子をオーバーロードすると仮定すると、アドレスは異なります
アドレスもバイト数も同じです
== 演算子をオーバーロードせず、内部構造がわかっている GUID 型については、他の回答者 @一代Key客の回答を参照してください
GUID 型は == 演算子をオーバーロードしておらず、その内部構造はバイトごとに比較できると思います
リーリー
MSDNのGUID構造の定義によると
リーリーGUID はオーバーロードされた == 演算子を持たない構造であるため、2 つの GUID を比較する場合は、== 演算子を実装するか、メンバー変数を 1 つずつ正直に比較する必要があります。
リーリー2 つの状況があります:
GUID 型が == 演算子をオーバーロードすると仮定すると、アドレスは異なります
リーリーアドレスもバイト数も同じです
リーリー== 演算子をオーバーロードせず、内部構造がわかっている GUID 型については、他の回答者 @一代Key客の回答を参照してください
GUID 型は == 演算子をオーバーロードしておらず、その内部構造はバイトごとに比較できると思います
。 リーリーリーリー