Verwenden von Zeichenfolgenpuffern
Funktionen, die Zeichenfolgen zurückgeben, enthalten den Eingabeparameter lpszBuffer und den Size-Parameter lpdwBufferLength. Obwohl lpszBufferNULL sein kann, muss lpdwBufferLength ein gültiger Zeiger auf eine DWORD-Variable sein. Wenn der Eingabepuffer, auf den lpszBuffer verweist, NULL oder zu klein ist, um die Ausgabezeichenfolge zu speichern, schlägt die Funktion fehl, und GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück. Die Variable, auf die von lpdwBufferLength verwiesen wird, enthält eine Zahl, die die Anzahl der Bytes darstellt, die die Funktion zum Zurückgeben der angeforderten Zeichenfolge benötigt, einschließlich des NULL-Abschlusszeichens . Die Anwendung sollte einen Puffer dieser Größe zuordnen, die Variable, auf die von lpdwBufferLength verwiesen wird, auf diesen Wert festlegen und die Anforderung erneut übermitteln. Wenn die Puffergröße ausreicht, um die angeforderte Zeichenfolge zu empfangen, wird die Zeichenfolge mit einem NULL-Abschlusszeichen in den Ausgabepuffer kopiert, und die Funktion gibt eine Erfolgsanzeige zurück. Die Variable, auf die von lpdwBufferLength verwiesen wird, enthält jetzt die Anzahl der im Puffer gespeicherten Zeichen, mit Ausnahme des NULL-Abschlusszeichens .
Hinweis
WinINet unterstützt keine Serverimplementierungen. Darüber hinaus sollte es nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).