Bagikan melalui


Fungsi WsGetMappedHeader (webservices.h)

Menemukan header yang dipetakan dalam pesan dan mendeserialisasinya.

Sintaks

HRESULT WsGetMappedHeader(
  [in]           WS_MESSAGE                 *message,
  [in]           const WS_XML_STRING        *headerName,
  [in]           WS_REPEATING_HEADER_OPTION repeatingOption,
  [in]           ULONG                      headerIndex,
  [in]           WS_TYPE                    valueType,
  [in]           WS_READ_OPTION             readOption,
  [in, optional] WS_HEAP                    *heap,
                 void                       *value,
  [in]           ULONG                      valueSize,
  [in, optional] WS_ERROR                   *error
);

Parameter

[in] message

Pesan yang berisi header .

Pesan dapat berada dalam status apa pun tetapi WS_MESSAGE_STATE_EMPTY.

[in] headerName

Nama header yang dipetakan.

[in] repeatingOption

Apakah header mungkin muncul lebih dari sekali dalam pesan.

Jika WS_REPEATING_HEADER digunakan, maka indeks header menunjukkan header mana dengan headerName yang ditentukan untuk dikembalikan.

Jika WS_SINGLETON_HEADER digunakan, headerIndex harus nol.

[in] headerIndex

Indeks header berbasis nol dalam kumpulan header dengan headerName yang ditentukan.

[in] valueType

Jenis nilai yang akan dideserialisasi.

[in] readOption

Apakah nilai diperlukan, dan cara mengalokasikan nilai. Lihat WS_READ_OPTION untuk informasi selengkapnya.

Jika header bersifat opsional (mungkin muncul nol atau satu kali), maka WS_READ_OPTIONAL_POINTER dapat digunakan.

[in, optional] heap

Timbunan untuk menyimpan data header yang dideserialisasi. Jika ini NULL, maka timbunan pesan akan digunakan.

value

Interpretasi parameter ini tergantung pada WS_READ_OPTION.

[in] valueSize

Interpretasi parameter ini tergantung pada WS_READ_OPTION.

[in, optional] error

Menentukan di mana informasi kesalahan tambahan harus disimpan jika fungsi gagal.

Mengembalikan nilai

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
WS_E_INVALID_FORMAT
Header tidak ada, dan diperlukan.

Data input tidak dalam format yang diharapkan.

WS_SINGLETON_HEADER ditentukan, dan ada beberapa instans header dengan nama yang ditentukan dalam pesan.

WS_E_QUOTA_EXCEEDED
Kuota ukuran timbunan terlampaui.
E_OUTOFMEMORY
Tidak tersedia cukup memori untuk mendeserialisasi header.
E_INVALIDARG
Satu atau beberapa parameter salah.
Kesalahan Lainnya
Fungsi ini dapat mengembalikan kesalahan lain yang tidak tercantum di atas.

Keterangan

Pesan mungkin berisi informasi khusus transportasi tambahan yang bukan bagian dari amplop pesan. Informasi khusus transportasi ini dapat diekspos secara terprogram sebagai header objek Pesan. Fungsi ini digunakan untuk membaca header yang telah dipetakan oleh transportasi ke dalam pesan.

Saat menggunakan saluran HTTP, pemetaan yang diperlukan harus ditentukan sebelum header dapat diekstraksi dengan fungsi ini. Untuk informasi selengkapnya, lihat WS_HTTP_MESSAGE_MAPPING.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header webservices.h
Pustaka WebServices.lib
DLL WebServices.dll