INTERNET_STATUS_CALLBACK fungsi panggilan balik (wininet.h)

Prototipe untuk fungsi panggilan balik status yang ditentukan aplikasi.

Jenis INTERNET_STATUS_CALLBACK menentukan penunjuk ke fungsi panggilan balik ini. InternetStatusCallback adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.

Sintaks

INTERNET_STATUS_CALLBACK InternetStatusCallback;

void InternetStatusCallback(
  [in] HINTERNET hInternet,
  [in] DWORD_PTR dwContext,
  [in] DWORD dwInternetStatus,
  [in] LPVOID lpvStatusInformation,
  [in] DWORD dwStatusInformationLength
)
{...}

Parameter

[in] hInternet

Handel yang fungsi panggilan baliknya dipanggil.

[in] dwContext

Penunjuk ke variabel yang menentukan nilai konteks yang ditentukan aplikasi yang terkait dengan hInternet.

[in] dwInternetStatus

Kode status yang menunjukkan mengapa fungsi panggilan balik dipanggil. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
INTERNET_STATUS_CLOSING_CONNECTION
Menutup koneksi ke server. Parameter lpvStatusInformation adalah NULL.
INTERNET_STATUS_CONNECTED_TO_SERVER
Berhasil tersambung ke alamat soket (SOCKADDR) yang diacu oleh lpvStatusInformation.
INTERNET_STATUS_CONNECTING_TO_SERVER
Menyambungkan ke alamat soket (SOCKADDR) yang ditujukkan oleh lpvStatusInformation.
INTERNET_STATUS_CONNECTION_CLOSED
Berhasil menutup koneksi ke server. Parameter lpvStatusInformation adalah NULL.
INTERNET_STATUS_COOKIE_HISTORY
Mengambil konten dari cache. Berisi data tentang peristiwa cookie sebelumnya untuk URL seperti jika cookie diterima, ditolak, diturunkan, atau di-leash.

Parameter lpvStatusInformation adalah penunjuk ke struktur InternetCookieHistory .

INTERNET_STATUS_COOKIE_RECEIVED
Menunjukkan jumlah cookie yang diterima, ditolak, diturunkan (diubah dari cookie persisten ke sesi), atau di-leash (hanya akan dikirim dalam konteks pihak pertama). Parameter lpvStatusInformation adalah DWORD dengan jumlah cookie yang diterima.
INTERNET_STATUS_COOKIE_SENT
Menunjukkan jumlah cookie yang dikirim atau ditekan, ketika permintaan dikirim. Parameter lpvStatusInformation adalah DWORD dengan jumlah cookie yang dikirim atau ditekan.
INTERNET_STATUS_CTL_RESPONSE_RECEIVED
Tidak diterapkan.
INTERNET_STATUS_DETECTING_PROXY
Memberi tahu aplikasi klien bahwa proksi telah terdeteksi.
INTERNET_STATUS_HANDLE_CLOSING
Nilai handel ini telah dihentikan. pvStatusInformation berisi alamat handel yang sedang ditutup. Parameter lpvStatusInformation berisi alamat handel yang sedang ditutup.
INTERNET_STATUS_HANDLE_CREATED
Digunakan oleh InternetConnect untuk menunjukkan telah membuat handel baru. Ini memungkinkan aplikasi memanggil InternetCloseHandle dari utas lain, jika koneksi terlalu lama. Parameter lpvStatusInformation berisi alamat handel HINTERNET .
INTERNET_STATUS_INTERMEDIATE_RESPONSE
Menerima pesan kode status menengah (tingkat 100) dari server.
INTERNET_STATUS_NAME_RESOLVED
Berhasil menemukan alamat IP nama yang terkandung dalam lpvStatusInformation. Parameter lpvStatusInformation menunjuk ke PCTSTR yang berisi nama host.
INTERNET_STATUS_P3P_HEADER
Respons memiliki header P3P di dalamnya.
INTERNET_STATUS_P3P_POLICYREF
Tidak diterapkan.
INTERNET_STATUS_PREFETCH
Tidak diterapkan.
INTERNET_STATUS_PRIVACY_IMPACTED
Tidak diterapkan.
INTERNET_STATUS_RECEIVING_RESPONSE
Menunggu server merespons permintaan. Parameter lpvStatusInformation adalah NULL.
INTERNET_STATUS_REDIRECT
Permintaan HTTP akan mengalihkan permintaan secara otomatis. Parameter lpvStatusInformation menunjuk ke URL baru. Pada titik ini, aplikasi dapat membaca data apa pun yang dikembalikan oleh server dengan respons pengalihan dan dapat mengkueri header respons. Ini juga dapat membatalkan operasi dengan menutup handel. Panggilan balik ini tidak dilakukan jika permintaan asli yang ditentukan INTERNET_FLAG_NO_AUTO_REDIRECT.
INTERNET_STATUS_REQUEST_COMPLETE
Operasi asinkron telah selesai. Parameter lpvStatusInformation berisi alamat struktur INTERNET_ASYNC_RESULT .
INTERNET_STATUS_REQUEST_SENT
Berhasil mengirim permintaan informasi ke server. Parameter lpvStatusInformation menunjuk ke nilai DWORD yang berisi jumlah byte yang dikirim.
INTERNET_STATUS_RESOLVING_NAME
Mencari alamat IP nama yang terkandung dalam lpvStatusInformation. Parameter lpvStatusInformation menunjuk ke PCTSTR yang berisi nama host.
INTERNET_STATUS_RESPONSE_RECEIVED
Berhasil menerima respons dari server.
INTERNET_STATUS_SENDING_REQUEST
Mengirim permintaan informasi ke server. Parameter lpvStatusInformation adalah NULL.
INTERNET_STATUS_STATE_CHANGE
Dipindahkan antara situs aman (HTTPS) dan tidak aman (HTTP). Pengguna harus diberi tahu tentang perubahan ini; jika tidak, pengguna berisiko mengungkapkan informasi sensitif secara tidak sengaja. Ketika bendera ini diatur, parameter lpvStatusInformation menunjuk ke status DWORD yang berisi bendera tambahan.

[in] lpvStatusInformation

Penunjuk ke informasi status tambahan. Saat bendera INTERNET_STATUS_STATE_CHANGE diatur, lpvStatusInformation menunjuk ke DWORD yang berisi satu atau beberapa bendera berikut:

Nilai Makna
INTERNET_STATE_CONNECTED
Status tersambung. Saling eksklusif dengan status terputus.
INTERNET_STATE_DISCONNECTED
Status terputus. Tidak ada koneksi jaringan yang dapat dibuat.
INTERNET_STATE_DISCONNECTED_BY_USER
Terputus oleh permintaan pengguna.
INTERNET_STATE_IDLE
Tidak ada permintaan jaringan yang dibuat oleh Windows Internet.
INTERNET_STATE_BUSY
Permintaan jaringan sedang dibuat oleh Windows Internet.
INTERNET_STATUS_USER_INPUT_REQUIRED
Permintaan mengharuskan input pengguna selesai.

[in] dwStatusInformationLength

Ukuran, dalam byte, dari data yang diacu oleh lpvStatusInformation.

Mengembalikan nilai

Tidak ada

Keterangan

Karena panggilan balik dilakukan selama pemrosesan permintaan, aplikasi harus menghabiskan sedikit waktu dalam fungsi panggilan balik untuk menghindari penurunan throughput data pada jaringan. Misalnya, menampilkan kotak dialog dalam fungsi panggilan balik bisa menjadi operasi panjang sehingga server mengakhiri permintaan.

Fungsi panggilan balik dapat dipanggil dalam konteks utas yang berbeda dari utas yang memulai permintaan.

Hati Selalu beri tahu pengguna ketika terjadi perubahan status dari situs aman (HTTPS) ke situs yang tidak aman (HTTP), untuk menjaga dari pengungkapan informasi yang tidak disengaja.
 
Seperti semua aspek lain dari Api WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.
Catatan WinINet tidak mendukung implementasi server. Selain itu, itu tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wininet.h

Lihat juga

Operasi Asinkron

Membuat Fungsi Panggilan Balik Status

INTERNET_ASYNC_RESULT

Fungsi WinINet