Fungsi WsReadEnvelopeStart (webservices.h)

Membaca header pesan dan bersiap untuk membaca elemen isi. Operasi membaca awal pesan berikutnya dari Pembaca termasuk header pesan. Proses ini memungkinkan pembacaan pesan dari sumber lain daripada saluran. Untuk membaca pesan menggunakan saluran, gunakan WsReadMessageStart.

Catatan Setelah berhasil, header disimpan dalam pesan dan dapat diambil secara acak menggunakan fungsi seperti WsGetHeader atau WsGetCustomHeader.

 

Sintaks

HRESULT WsReadEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_READER            *reader,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

Parameter

[in] message

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

[in] reader

Penunjuk ke Pembaca dengan pesan untuk dibaca. Objek Pesan menggunakan Pembaca dalam panggilan saat ini dan berikutnya.

Catatan Pemanggil fungsi harus menjaga Pembaca tetap valid hingga WsResetMessage atau WsFreeMessage dipanggil.
Parameter WS_MESSAGE_DONE_CALLBACK dapat digunakan sebagai cara untuk mengetahui bahwa WS_XML_READER tidak lagi digunakan.

 

[in, optional] doneCallback

Mengidentifikasi fungsi panggilan balik untuk memulai keberhasilan operasi saat ini setelah pesan dirilis.

Catatan Pesan dirilis menggunakan WsFreeMessage atau WsResetMessage

 
Panggilan balik dapat digunakan untuk menemukan apakah instans WS_XML_READER sedang digunakan oleh pesan ini. Jika operasi saat ini gagal, panggilan balik tidak dipanggil.

[in, optional] doneCallbackState

Penunjuk ke status yang ditentukan pengguna yang dapat diteruskan ke WS_MESSAGE_DONE_CALLBACK. Parameter ini mungkin NULL jika panggilan balik tidak digunakan.

[in, optional] error

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

Nilai kembali

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

Pesan harus dalam status WS_MESSAGE_STATE_EMPTY . Setelah berhasil, status pesan diatur ke WS_MESSAGE_STATE_READING.

Untuk membaca Elemen isi pesan, gunakan WsReadBody. Untuk membaca langsung dari Pembaca XML, dapatkan Pembaca dengan Id properti pesan yang diatur ke WS_MESSAGE_PROPERTY_BODY_READER.

Persyaratan

   
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