在相当多的Win32结构中,你必须将结构的大小赋予其中一个成员,在很多情况下,存储它的成员被调用cb或以此为前缀.
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;
Run Code Online (Sandbox Code Playgroud)
该文件说,这:
CB
结构的大小,以字节为单位.
我想知道是否有人知道什么cb代表或意味着什么?如果它确实有意义的话.
也许有人知道这个的历史,这可以解释它.
它可能代表计数字节.
例如,STARTUPINFO它应该由你初始化sizeof(STARTUPINFO).这样,Windows内部将知道您正在使用哪个版本的结构,因为它随着时间的推移而增长.
在其他情况下只是一些字节.
除了ComboBoxes,它代表Combo Box.