Bagikan melalui


Fungsi HttpQueryInfoW (wininet.h)

Mengambil informasi header yang terkait dengan permintaan HTTP.

Sintaks

BOOL HttpQueryInfoW(
  [in]      HINTERNET hRequest,
  [in]      DWORD     dwInfoLevel,
  [in, out] LPVOID    lpBuffer,
  [in, out] LPDWORD   lpdwBufferLength,
  [in, out] LPDWORD   lpdwIndex
);

Parameter

[in] hRequest

Handel yang dikembalikan oleh panggilan ke fungsi HttpOpenRequest atau InternetOpenUrl .

[in] dwInfoLevel

Kombinasi atribut yang akan diambil dan bendera yang mengubah permintaan. Untuk daftar kemungkinan nilai atribut dan pengubah, lihat Bendera Info Kueri.

[in, out] lpBuffer

Penunjuk ke buffer untuk menerima informasi yang diminta. Parameter ini tidak boleh NULL.

[in, out] lpdwBufferLength

Penunjuk ke variabel yang berisi, pada entri, ukuran dalam byte buffer yang diacu oleh lpvBuffer.

Ketika fungsi berhasil dikembalikan, variabel ini berisi jumlah byte informasi yang ditulis ke buffer. Dalam kasus string, jumlah byte tidak menyertakan karakter null yang mengakhiri string.

Saat fungsi
gagal dengan kode kesalahan ERROR_INSUFFICIENT_BUFFER yang diperluas, variabel yang diarahkan oleh lpdwBufferLength berisi saat keluar dari ukuran, dalam byte, dari buffer yang cukup besar untuk menerima informasi yang diminta. Aplikasi panggilan kemudian dapat mengalokasikan buffer ukuran ini atau lebih besar, dan memanggil fungsi lagi.

[in, out] lpdwIndex

Penunjuk ke indeks header berbasis nol yang digunakan untuk menghitung beberapa header dengan nama yang sama. Saat memanggil fungsi, parameter ini adalah indeks header yang ditentukan untuk dikembalikan. Saat fungsi kembali, parameter ini adalah indeks header berikutnya. Jika indeks berikutnya tidak dapat ditemukan, ERROR_HTTP_HEADER_NOT_FOUND dikembalikan.

Mengembalikan nilai

Mengembalikan TRUE jika berhasil, atau FALSE sebaliknya. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Anda dapat mengambil jenis data berikut dari HttpQueryInfo:

  • String (default)
  • SYSTEMTIME (untuk tanggal)
  • DWORD (untuk STATUS_CODE, CONTENT_LENGTH, dan sebagainya, jika HTTP_QUERY_FLAG_NUMBER telah digunakan)

Jika aplikasi Anda mengharuskan data dikembalikan sebagai jenis data selain string, Anda harus menyertakan pengubah yang sesuai dengan atribut yang diteruskan ke dwInfoLevel.

Fungsi HttpQueryInfo tersedia di Microsoft Internet Explorer 3.0 untuk karakter ISO-8859-1 (fungsi HttpQueryInfoA ) dan di Internet Explorer 4.0 atau yang lebih baru untuk karakter ISO-8859-1 (fungsi HttpQueryInfoA ) dan untuk karakter ISO-8859-1 yang dikonversi ke karakter UTF-16LE. (fungsi HttpQueryInfoW ).

Catatan Fungsi HttpQueryInfoA mewakili header sebagai karakter ISO-8859-1 bukan karakter ANSI. Fungsi HttpQueryInfoW mewakili header sebagai karakter ISO-8859-1 yang dikonversi ke karakter UTF-16LE. Akibatnya, tidak pernah aman untuk menggunakan fungsi HttpQueryInfoW ketika header dapat berisi karakter non-ASCII. Sebagai gantinya, aplikasi dapat menggunakan fungsi MultiByteToWideChar dan WideCharToMultiByte dengan parameter Codepage yang diatur ke 28591 untuk memetakan antara karakter ANSI dan karakter UTF-16LE.
 
Lihat Mengambil Header HTTP untuk contoh kode yang memanggil fungsi HttpQueryInfo .

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).
 

Catatan

Header wininet.h mendefinisikan HttpQueryInfo sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

   
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
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

Sesi HTTP

Mengambil Header HTTP

Fungsi WinINet