LB_INITSTORAGE
Allocates
memory for storing list box items. An application sends this message before
adding a large number of items to a list box.
LB_INITSTORAGE
wParam = (WPARAM) (int) cItems; // number of items to add
lParam = (LPARAM) (DWORD) cb; // amount of memory to allocate, in bytes
Parameters
cItems
Specifies the
number of items to add.
Windows
95: The wParam parameter is
limited to 16-bit values. This means list boxes cannot contain more than 32,767
items. Although the number of items is restricted, the total size in bytes of
the items in a listbox is limited only by available memory.
cb
Specifies the
amount of memory, in bytes, to allocate for item strings.
Return Values
The return
value is the maximum number of items that the memory object can store before
another memory reallocation is needed, if successful. It is LB_ERRSPACE if not
enough memory is available.
Remarks
Windows
95: This message helps speed up the
initialization of list boxes that have a large number of items (more than 100).
It reserves the specified amount of memory so that subsequent LB_ADDSTRING,
LB_INSERTSTRING, LB_DIR, and LB_ADDFILE messages take the shortest possible
time. You can use estimates for the cItems and cb parameters. If
you overestimate, the extra memory is allocated; if you underestimate, the
normal allocation is used for items that exceed the requested amount.
Windows
NT: This message is not needed on
Windows NT. It does not reserve the specified amount of memory, because
available memory is virtually unlimited. The return value is always the value
specified in the cItems parameter.
See Also