Fungsi WsReadBody (webservices.h)

Ini adalah fungsi pembantu yang mendeserialisasi nilai dari Pembaca XMLdari pesan. WS_MESSAGE_STATE harus diatur ke WS_MESSAGE_STATE_READING. Fungsi ini tidak menyebabkan transisi status apa pun.

Sintaks

HRESULT WsReadBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_READ_OPTION               readOption,
  [in, optional] WS_HEAP                      *heap,
                 void                         *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

Parameter

[in] message

Penunjuk ke objek Pesan untuk membaca isinya. Penunjuk harus mereferensikan objek WS_MESSAGE yang valid.

[in] bodyDescription

Penunjuk ke objek yang merangkum metadata yang menjelaskan pemetaan nilai ke elemen.

[in] readOption

Menentukan apakah nilai diperlukan dan cara mengalokasikan nilai. Lihat WS_READ_OPTION untuk informasi selengkapnya.

[in, optional] heap

Penunjuk ke objek Heap untuk membaca elemen. Penunjuk harus mereferensikan objek WS_HEAP yang valid.

value

Interpretasi data yang dirujuk oleh parameter ini tergantung pada WS_READ_OPTION.

[in] valueSize

Interpretasi nilai parameter ini tergantung pada WS_READ_OPTION.

[in, optional] error

Penunjuk ke objek WS_ERROR tempat informasi tambahan tentang kesalahan harus disimpan jika fungsi gagal.

Mengembalikan nilai

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
WS_E_INVALID_FORMAT
Data input tidak dalam format yang diharapkan atau tidak memiliki nilai yang diharapkan.
E_OUTOFMEMORY
Kehabisan memori.
E_INVALIDARG
Satu atau beberapa argumen tidak valid.
Kesalahan Lain
Fungsi ini dapat mengembalikan kesalahan lain yang tidak tercantum di atas.

Keterangan

Fungsi ini mendukung skenario berikut, berdasarkan konten WS_ELEMENT_DESCRIPTION yang disediakan:

  • Membaca satu elemen. Dalam hal ini, bidang elementLocalName dan elementNs dari WS_ELEMENT_DESCRIPTION harus diatur ke nama lokal dan namespace elemen untuk dibaca, dan deskripsi jenis dan jenis mewakili jenis nilai yang sedang dideserialisasi. Jika menggunakan WS_FAULT_TYPE atau WS_ENDPOINT_ADDRESS_TYPE tidak perlu menentukan nama lokal, namespace layanan, atau deskripsi jenis (mereka akan default dengan tepat berdasarkan versi amplop/alamat pesan).
  • Membaca beberapa elemen sebagai nilai tunggal. Dalam hal ini, bidang elementLocalName dan elementNs dari WS_ELEMENT_DESCRIPTION harus diatur ke NULL, dan WS_STRUCT_TYPE dan WS_STRUCT_DESCRIPTION harus ditentukan. Dalam hal ini, setiap bidang nilai struktur yang dideserialisasi harus sesuai dengan elemen yang akan dibaca dalam isi.
  • Membaca beberapa elemen sebagai beberapa nilai. Membaca beberapa nilai berbeda dapat dicapai hanya dengan memanggil fungsi beberapa kali.

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