WinHttpSetOption-Funktion (winhttp.h)

Die WinHttpSetOption-Funktion legt eine Internetoption fest.

Syntax

WINHTTPAPI BOOL WinHttpSetOption(
  [in] HINTERNET hInternet,
  [in] DWORD     dwOption,
  [in] LPVOID    lpBuffer,
  [in] DWORD     dwBufferLength
);

Parameter

[in] hInternet

Das HINTERNET-Handle , für das Daten festgelegt werden sollen. Beachten Sie, dass dies entweder ein Sitzungshandle oder ein Anforderungshandle sein kann, je nachdem, welche Option festgelegt wird. Weitere Informationen zum Ermitteln des geeigneten Handles zum Festlegen einer bestimmten Option finden Sie unter Option Flags.

[in] dwOption

Ein ganzzahliger Wert ohne Vorzeichen, der die festzulegende Internetoption enthält. Dies kann einer der Option Flags-Werte sein.

[in] lpBuffer

Ein Zeiger auf einen Puffer, der die Optionseinstellung enthält.

[in] dwBufferLength

Ganzzahlwert ohne Vorzeichen, der die Länge des lpBuffer-Puffers enthält. Die Länge des Puffers wird für die folgenden Optionen in Zeichen angegeben: für alle anderen Optionen wird die Länge in Bytes angegeben.

Rückgabewert

Gibt TRUE zurück, wenn der Vorgang erfolgreich war, oder andernfalls FALSE . Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Zu den zurückgegebenen Fehlercodes gehören die folgenden:

Fehlercode BESCHREIBUNG
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
Der angeforderte Vorgang kann nicht ausgeführt werden, da sich der angegebene Handle nicht im richtigen Zustand befindet.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Der Typ des angegebenen Handles ist für diesen Vorgang falsch.
ERROR_WINHTTP_INTERNAL_ERROR
Ein interner Fehler ist aufgetreten.
ERROR_WINHTTP_INVALID_OPTION
Eine Anforderung an WinHttpQueryOption oder WinHttpSetOption hat einen ungültigen Optionswert angegeben.
ERROR_INVALID_PARAMETER
Ein Parameter ist nicht gültig.

Dieser Wert wird zurückgegeben, wenn WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL auf einen Wert niedriger als 15000 festgelegt ist.

ERROR_WINHTTP_OPTION_NOT_SETTABLE
Die angeforderte Option kann nicht festgelegt, nur abgefragt werden.
ERROR_INVALID_PARAMETER
Ein Parameter ist nicht gültig.

Dieser Wert wird zurückgegeben, wenn WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL auf einen Wert niedriger als 15000 festgelegt ist.

ERROR_NOT_ENOUGH_MEMORY
Für den angeforderten Vorgang war nicht genügend Arbeitsspeicher verfügbar. (Windows-Fehlercode)

Hinweise

Anmeldeinformationen, die an WinHttpSetOption übergeben werden, können unerwartet im Klartext gesendet werden. Es wird dringend empfohlen, winHttpQueryAuthSchemes und WinHttpSetCredentials anstelle von WinHttpSetOption zum Festlegen von Anmeldeinformationen zu verwenden.

Hinweis Bei Verwendung der Passport-Authentifizierung muss eine WinHTTP-Anwendung, die auf einen 407-status-Code reagiert, WinHttpSetOption verwenden, um Proxyanmeldeinformationen anstelle von WinHttpSetCredentials bereitzustellen. Dies gilt nur bei Verwendung der Passport-Authentifizierung. Verwenden Sie unter allen anderen Umständen WinHttpSetCredentials.
 
Auch wenn WinHTTP im asynchronen Modus verwendet wird (d. h. wenn WINHTTP_FLAG_ASYNC in WinHttpOpen festgelegt wurde), arbeitet diese Funktion synchron. Der Rückgabewert weist auf Erfolg oder Fehler hin. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

GetLastError gibt den Fehler ERROR_INVALID_PARAMETER zurück, wenn ein Optionsflag angegeben wird, das nicht festgelegt werden kann.

Weitere Informationen und Codebeispiele zur Verwendung von WinHttpSetOption finden Sie unter Authentifizierung in WinHTTP.

Hinweis Informationen zu Windows XP und Windows 2000 finden Sie im Abschnitt Laufzeitanforderungen der WinHttp-Startseite .
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional mit SP3 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003, Windows 2000 Server mit SP3 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winhttp.h
Bibliothek Winhttp.lib
DLL Winhttp.dll
Verteilbare Komponente WinHTTP 5.0 und Internet Explorer 5.01 oder höher unter Windows XP und Windows 2000.

Weitere Informationen

Authentifizierung in WinHTTP

Optionsflags

WinHTTP-Versionen

WinHttpCloseHandle

WinHttpOpen

WinHttpQueryOption