Fungsi WsWriteBody (webservices.h)

Menulis nilai dalam isi pesan. Ini adalah fungsi pembantu yang menserialisasikan nilai ke Penulis XML pesan. Status pesan harus diatur ke WS_MESSAGE_STATE_WRITING. Fungsi ini tidak menyebabkan transisi status apa pun.

Sintaks

HRESULT WsWriteBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

Parameter

[in] message

Penunjuk ke objek Pesan untuk ditulis. Penunjuk harus mereferensikan objek WS_MESSAGE yang valid.

[in] bodyDescription

Penunjuk ke informasi yang menjelaskan cara menulis nilai.

[in] writeOption

Menentukan apakah nilai diperlukan dan bagaimana nilai dialokasikan.

Catatan Lihat WS_WRITE_OPTION untuk informasi selengkapnya.

 

value

Penunjuk ke nilai yang akan ditulis.

[in] valueSize

Ukuran dalam byte dari nilai yang akan ditulis. Jika nilainya ADALAH NULL , ukurannya harus 0.

[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:

  • Menulis satu elemen. Dalam hal ini, bidang elementLocalName dan elementNs dari WS_ELEMENT_DESCRIPTION harus diatur ke nama lokal dan namespace elemen untuk ditulis, dan deskripsi jenis dan jenis mewakili jenis nilai yang diserialisasikan. Jika menggunakan WS_FAULT_TYPE atau WS_ENDPOINT_ADDRESS_TYPE, tidak perlu menentukan nama lokal, namespace layanan, atau deskripsi jenis (mereka akan default secara tepat berdasarkan versi amplop/alamat pesan).
  • Menulis 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 diserialisasikan harus sesuai dengan elemen untuk ditulis dalam isi.
  • Menulis beberapa elemen sebagai beberapa nilai. Menulis 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