在相当多的 Win32 结构中,您必须将结构的大小指定给其中的一个成员,在相当多的情况下,存储它的成员称为 cb
或以 this 为前缀。
DISPLAY_DEVICE有一个用于大小的 cb
成员。
它也用于某些类型的消息的名称,例如 CB_GETCURSEL .也许在这种情况下它用于 ComboBox。
在 Win32 的其他地方,cb
首字母缩略词(我假设?)用作成员名称的一部分。
如WNDCLASS其中有 cbWndExtra
和 cbClsExtra
。
在 STARTUPINFO
中你有它:
typedef struct _STARTUPINFO {
DWORD cb;
LPTSTR lpReserved;
LPTSTR lpDesktop;
LPTSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFO, *LPSTARTUPINFO;
documentation是这样说的:
cb
The size of the structure, in bytes.
我想知道是否有人知道 cb
代表什么或意味着什么?如果它确实有意义的话。
也许有人知道这件事的历史,或许可以解释。
最佳答案
它可能代表count bytes。
例如在 STARTUPINFO
中,您应该将其初始化为 sizeof(STARTUPINFO)
。这样,随着时间的推移,Windows 内部会知道您正在使用哪个版本的结构。
在其他情况下只是一些字节数。
除了在 ComboBoxes 中,它代表 Combo Box。
关于c - 在 Win32 中,大小成员 (cb) 名称的实际含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298425/