Použití řetězcových bufferů
Funkce, které vracejí řetězce, obsahují vstupní parametr, lpszBuffera parametr velikosti lpdwBufferLength. I když lpszBuffer může být null, lpdwBufferLength musí být platným ukazatelem na proměnnou DWORD. Pokud je vstupní vyrovnávací paměť, na kterou odkazuje lpszBuffer, NULL nebo je příliš malá pro uložení výstupního řetězce, funkce selže a GetLastError vrátí ERROR_INSUFFICIENT_BUFFER. Proměnná odkazovaná lpdwBufferLength obsahuje číslo, které představuje počet bajtů, které funkce vyžaduje k vrácení požadovaného řetězce, včetně null ukončení. Aplikace by měla přidělit vyrovnávací paměť této velikosti, nastavit proměnnou lpdwBufferLength na tuto hodnotu a znovu odeslat požadavek. Pokud velikost vyrovnávací paměti stačí k přijetí požadovaného řetězce, řetězec se zkopíruje do výstupní vyrovnávací paměti s ukončovacím null a funkce vrátí indikátor úspěchu. Proměnná odkazovaná na lpdwBufferLength teď obsahuje počet znaků uložených ve vyrovnávací paměti s výjimkou ukončovací null.
Poznámka
WinINet nepodporuje implementace serveru. Kromě toho by se nemělo používat v rámci služby. Pro implementace serverů nebo služby použijte microsoft Windows HTTP Services (WinHTTP).