在相当多的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;
CB
结构的大小,以字节为单位。
我想知道是否有人知道cb
代表什么或意味着什么?如果它确实有意义的话。
也许有人知道这个的历史,这可以解释它。
答案 0 :(得分:6)
它可能代表 count bytes 。
例如,在STARTUPINFO
中,您应该将其初始化为sizeof(STARTUPINFO)
。这样,Windows内部将知道您正在使用哪个版本的结构,因为它随着时间的推移而增长。
在其他情况下只是一些字节。
除了ComboBoxes之外,它代表 Combo Box 。
答案 1 :(得分:3)
cb
代表
字节数。
答案 2 :(得分:1)
这是所谓Microsoft flavor的Hungarian notation。在cb
的情况下,它是一个字节数,正如已经提到的其他答案。
答案 3 :(得分:1)
IInspectable是非常正确的! cb表示字节数,cch表示字符数。请参阅StringCbPrintf和StringCchPrintf