Udostępnij przez


komunikat LB_INITSTORAGE

Przydziela pamięć do przechowywania elementów pól listy. Ten komunikat można użyć, zanim aplikacja doda dużą liczbę elementów do pola listy.

Parametry

wParam

Liczba elementów, dla których należy zarezerwować miejsce.

Windows 95/Windows 98/Windows Millennium Edition (Windows Me): Parametr wParam jest ograniczony do wartości 16-bitowych. Oznacza to, że pola listy nie mogą zawierać więcej niż 32 767 elementów. Chociaż liczba elementów jest ograniczona, łączny rozmiar w bajtach elementów w polu listy jest ograniczony tylko przez dostępną pamięć.

lParam

Ilość dodatkowej pamięci w bajtach do przydzielenia dla ciągów elementów.

Wartość zwracana

Jeśli komunikat zakończy się pomyślnie, zwracana wartość to całkowita liczba elementów, które można przechowywać w polu listy przed potrzebą reallokacji pamięci.

Jeśli komunikat zakończy się niepowodzeniem, zwracana wartość jest LB_ERRSPACE.

Microsoft Windows NT 4.0: ten komunikat nie przydziela określonej ilości pamięci; jednak zawsze zwraca wartość określoną w parametrze wParam .

Uwagi

Komunikat LB_INITSTORAGE pomaga przyspieszyć inicjowanie pól listy, które mają dużą liczbę elementów (ponad 100). Rezerwuje określoną ilość pamięci, dzięki czemu kolejne LB_ADDSTRING, LB_INSERTSTRING, LB_DIR i komunikaty LB_ADDFILE są bardziej wydajne. Można użyć oszacowań dla parametrów wParam i lParam . Jeśli przecenisz, dodatkowa pamięć pozostanie przydzielona; jeśli nie doceniasz, pole listy przydzieli dodatkową pamięć zgodnie z potrzebami.

Pamięć wymagana do przechowywania ciągu zawiera terminator o wartości null. W związku z tym, jeśli planujesz dodać 100 ciągów, z których każda ma długość 10 znaków, przekażesz parametr wParam 100 i lParam 100 × (10 + 1) × sizeof(TCHAR).

Requirements

Wymaganie Wartość
Minimalny obsługiwany klient
Windows Vista [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer
Windows Server 2003 [tylko aplikacje klasyczne]
Header
Winuser.h (uwzględnij windows.h)

Zobacz także

Referencja

LB_ADDFILE

LB_ADDSTRING

LB_DIR

LB_INSERTSTRING