Bagikan melalui


Fungsi WinHttpSetOption (winhttp.h)

Fungsi WinHttpSetOption mengatur opsi Internet.

Sintaks

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

Parameter

[in] hInternet

HINTERNET menangani untuk mengatur data. Ketahuilah bahwa ini dapat berupa handel Sesi atau handel Permintaan, tergantung pada opsi apa yang sedang diatur. Untuk informasi selengkapnya tentang cara menentukan handel mana yang sesuai untuk digunakan dalam mengatur opsi tertentu, lihat Bendera Opsi.

[in] dwOption

Nilai bilangan bulat panjang yang tidak ditandatangani yang berisi opsi Internet untuk diatur. Ini bisa menjadi salah satu nilai Bendera Opsi .

[in] lpBuffer

Penunjuk ke buffer yang berisi pengaturan opsi.

[in] dwBufferLength

Nilai bilangan bulat panjang yang tidak ditandatangani yang berisi panjang buffer lpBuffer . Panjang buffer ditentukan dalam karakter untuk opsi berikut; untuk semua opsi lainnya, panjangnya ditentukan dalam byte.

Mengembalikan nilai

Mengembalikan TRUE jika berhasil, atau FALSE sebaliknya. Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Di antara kode kesalahan yang dikembalikan adalah sebagai berikut:

Kode Kesalahan Deskripsi
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
Operasi yang diminta tidak dapat dilakukan karena handel yang diberikan tidak dalam keadaan yang benar.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Jenis handel yang disediakan salah untuk operasi ini.
ERROR_WINHTTP_INTERNAL_ERROR
Terjadi kesalah internal.
ERROR_WINHTTP_INVALID_OPTION
Permintaan ke WinHttpQueryOption atau WinHttpSetOption menentukan nilai opsi yang tidak valid.
ERROR_INVALID_PARAMETER
Parameter tidak valid.

Nilai ini akan dikembalikan jika WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL diatur ke nilai yang lebih rendah dari 15000.

ERROR_WINHTTP_OPTION_NOT_SETTABLE
Opsi yang diminta tidak dapat diatur, hanya dikueri.
ERROR_INVALID_PARAMETER
Parameter tidak valid.

Nilai ini akan dikembalikan jika WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL diatur ke nilai yang lebih rendah dari 15000.

ERROR_NOT_ENOUGH_MEMORY
Memori tidak cukup tersedia untuk menyelesaikan operasi yang diminta. (Kode galat Windows)

Keterangan

Kredensial yang diteruskan ke WinHttpSetOption dapat secara tak terduga dikirim dalam teks biasa. Sangat disarankan agar Anda menggunakan WinHttpQueryAuthSchemes dan WinHttpSetCredentials alih-alih WinHttpSetOption untuk mengatur kredensial.

Catatan Namun, saat menggunakan autentikasi Paspor, aplikasi WinHTTP yang merespons kode status 407 harus menggunakan WinHttpSetOption untuk memberikan kredensial proksi daripada WinHttpSetCredentials. Ini hanya berlaku saat menggunakan autentikasi Paspor; dalam semua keadaan lain, gunakan WinHttpSetCredentials.
 
Bahkan ketika WinHTTP digunakan dalam mode asinkron (yaitu, ketika WINHTTP_FLAG_ASYNC telah diatur di WinHttpOpen), fungsi ini beroperasi secara sinkron. Nilai yang dikembalikan menunjukkan keberhasilan atau kegagalan. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

GetLastError mengembalikan kesalahan ERROR_INVALID_PARAMETER jika bendera opsi ditentukan yang tidak dapat diatur.

Untuk informasi selengkapnya dan contoh kode yang memperlihatkan penggunaan WinHttpSetOption, lihat Autentikasi di WinHTTP.

Catatan Untuk Windows XP dan Windows 2000, lihat bagian Persyaratan Run-Time di halaman mulai WinHttp.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP, Windows 2000 Professional dengan SP3 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003, Windows 2000 Server dengan SP3 [hanya aplikasi desktop]
Target Platform Windows
Header winhttp.h
Pustaka Winhttp.lib
DLL Winhttp.dll
Redistribusi WinHTTP 5.0 dan Internet Explorer 5.01 atau yang lebih baru pada Windows XP dan Windows 2000.

Lihat juga

Autentikasi di WinHTTP

Bendera Opsi

Versi WinHTTP

WinHttpCloseHandle

WinHttpBuka

WinHttpQueryOption