cbSize
次の例のように、メンバーを持つWin32API構造体(ただし、それに限定されない)のいくつかの定義に頻繁に遭遇します。
typedef struct _TEST {
int cbSize;
// other members follow
} TEST, *PTEST;
そして、次のように使用します。
TEST t = { sizeof(TEST) };
...
また
TEST t;
t.cbSize = sizeof(TEST);
...
私の最初の推測では、これはバージョン管理に使用できる可能性があります。このような構造体へのポインタを受け取るcbSize
DLLは、DLLがコンパイルされたときに期待される値をメンバーが持っているかどうかを確認できます。または、構造体に対して適切なパッキングが行われているかどうかを確認します。しかし、私はあなたからここに行きたいと思います。
cbSize
Win32APIの一部のC++構造体のメンバーの目的は何ですか?