Fungsi WinHttpSetTimeouts (winhttp.h)
Fungsi WinHttpSetTimeouts mengatur waktu habis yang terlibat dengan transaksi HTTP.
Sintaks
WINHTTPAPI BOOL WinHttpSetTimeouts(
[in] HINTERNET hInternet,
[in] int nResolveTimeout,
[in] int nConnectTimeout,
[in] int nSendTimeout,
[in] int nReceiveTimeout
);
Parameter
[in] hInternet
Handel HINTERNET yang dikembalikan oleh WinHttpOpen atau WinHttpOpenRequest.
[in] nResolveTimeout
Nilai bilangan bulat jenis yang menentukan nilai waktu habis, dalam milidetik, untuk digunakan untuk resolusi nama. Jika resolusi membutuhkan waktu lebih lama dari nilai waktu habis ini, maka permintaan dibatalkan. Nilai awal adalah nol, yang berarti tidak ada waktu habis (tak terbatas).
Windows Vista dan Windows XP: Jika batas waktu DNS ditentukan menggunakan NAME_RESOLUTION_TIMEOUT, ada overhead satu utas per permintaan.
[in] nConnectTimeout
Nilai bilangan bulat jenis yang menentukan nilai waktu habis, dalam milidetik, untuk digunakan untuk permintaan koneksi server. Jika permintaan koneksi membutuhkan waktu lebih lama dari nilai waktu habis ini, permintaan dibatalkan. Nilai awal adalah 60.000 (60 detik).
TCP/IP dapat kehabisan waktu saat menyiapkan soket selama pertukaran SYN/ACK tiga kaki, terlepas dari nilai parameter ini.
[in] nSendTimeout
Nilai bilangan bulat jenis yang menentukan nilai waktu habis, dalam milidetik, untuk digunakan untuk mengirim permintaan. Jika mengirim permintaan membutuhkan waktu lebih lama dari nilai waktu habis ini, pengiriman dibatalkan. Nilai awal adalah 30.000 (30 detik).
[in] nReceiveTimeout
Nilai bilangan bulat jenis yang menentukan nilai waktu habis, dalam milidetik, untuk menerima respons terhadap permintaan. Jika respons membutuhkan waktu lebih lama dari nilai batas waktu ini, permintaan dibatalkan. Nilai awal adalah 30.000 (30 detik).
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 |
---|---|
|
Operasi yang diminta tidak dapat dilakukan karena handel yang diberikan tidak dalam keadaan benar. |
|
Jenis handel yang disediakan salah untuk operasi ini. |
|
Terjadi kesalah internal. |
|
Tidak tersedia cukup memori untuk menyelesaikan operasi yang diminta. (Kode galat Windows) |
|
Satu atau beberapa parameter batas waktu memiliki nilai negatif selain -1. |
Keterangan
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.
Nilai 0 atau -1 menetapkan waktu habis untuk menunggu tanpa batas waktu. Nilai yang lebih besar dari 0 menetapkan nilai waktu habis dalam milidetik. Misalnya, 30.000 akan mengatur waktu habis menjadi 30 detik. Semua nilai negatif selain -1 menyebabkan fungsi gagal dengan ERROR_INVALID_PARAMETER.
Contoh
Contoh ini memperlihatkan cara mengatur nilai batas waktu baru menggunakan WinHttpSetTimeouts.
// Use WinHttpOpen to obtain an HINTERNET handle.
HINTERNET hSession = WinHttpOpen(L"A WinHTTP Example Program/1.0",
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
WINHTTP_NO_PROXY_NAME,
WINHTTP_NO_PROXY_BYPASS, 0);
if (hSession)
{
// Use WinHttpSetTimeouts to set a new time-out values.
if (!WinHttpSetTimeouts( hSession, 10000, 10000, 10000, 10000))
printf( "Error %u in WinHttpSetTimeouts.\n", GetLastError());
// PLACE ADDITIONAL CODE HERE.
// When finished, release the HINTERNET handle.
WinHttpCloseHandle(hSession);
}
else
{
printf("Error %u in WinHttpOpen.\n", GetLastError());
}
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 di Windows XP dan Windows 2000. |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk