Bagikan melalui


Fungsi WsStartReaderCanonicalization (webservices.h)

Operasi ini memulai proses menempatkan Pembaca XML yang ditentukan dalam bentuk standar atau "kanonisasi".

Pola penggunaan untuk kanonisisasi adalah:

  • Pindahkan Pembaca ke elemen tempat kanonisisasi dimulai.
  • Panggil WsStartReaderCanonicalization.
  • Pindahkan Pembaca ke depan ke posisi akhir.
  • Panggil WsEndReaderCanonicalization.
Selama proses ini, byte kanonis ditulis ke writeCallback yang ditentukan.
Catatan Simpul tingkat lanjut di atas dikanonis termasuk simpul elemen anak yang dilewati menggunakan WsSkipNode. Ini bermanfaat karena itu berarti bahwa kanonisisasi dan penguraian dapat dilakukan dalam satu meneruskan konten XML terlepas dari fungsi apa yang digunakan untuk membaca data.
 

Untuk menggunakan Pembaca XML semata-mata untuk kanonisisasi simpul elemen XML, aplikasi dapat memanggil WsStartReaderCanonicalization, WsSkipNode dan WsEndReaderCanonicalization saat Pembaca diposisikan pada elemen .

WsEndReaderCanonicalization harus dipanggil untuk memastikan bahwa semua byte kanonis ditulis ke panggilan balik yang ditentukan.

CatatanWsEndReaderCanonicalization harus dipanggil pada kedalaman yang sama di mana WsStartReaderCanonicalization. Fungsi pembaca lain mengembalikan kesalahan jika dipindahkan ke kedalaman yang lebih rendah daripada tempat WsStartReaderCanonicalization dipanggil. d
 

Tidak valid untuk memanggil WsMoveReader atau WsSetReaderPosition pada Pembaca antara panggilan ke WsStartReaderCanonicalization dan WsEndReaderCanonicalization.

Sintaks

HRESULT WsStartReaderCanonicalization(
  [in]           WS_XML_READER                          *reader,
  [in]           WS_WRITE_CALLBACK                      writeCallback,
  [in]           void                                   *writeCallbackState,
                 const WS_XML_CANONICALIZATION_PROPERTY *properties,
  [in]           ULONG                                  propertyCount,
  [in, optional] WS_ERROR                               *error
);

Parameter

[in] reader

Penunjuk ke objek WS_XML_READER tempat kanonisisasi dimulai. Penunjuk harus mereferensikan objek Pembaca XML yang valid.

[in] writeCallback

Fungsi panggilan balik dipanggil untuk menulis byte kanonis saat dihasilkan.

Catatan Panggilan balik ini dipanggil secara sinkron.

 

[in] writeCallbackState

Penunjuk ke status yang ditentukan penelepon yang diteruskan saat memanggil WS_WRITE_CALLBACK.

properties

Referensi "array" dari properti opsional yang mengontrol bagaimana kanonisisasi dilakukan.

Catatan Lihat WS_XML_CANONICALIZATION_PROPERTY untuk detailnya.

 

[in] propertyCount

Jumlah properti.

[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
E_INVALIDARG
Satu atau beberapa argumen tidak valid.
WS_E_INVALID_OPERATION
Operasi tidak diperbolehkan karena status objek saat ini.
WS_E_INVALID_FORMAT
Data input tidak dalam format yang diharapkan atau tidak memiliki nilai yang diharapkan.

Keterangan

Panggilan ke fungsi ini tidak dapat ditumpuk. Akibatnya panggilan ke WsStartReaderCanonicalization harus diikuti dengan panggilan ke WsEndReaderCanonicalization sebelum panggilan WsStartReaderCanonicalization berikutnya dapat dilakukan.

Jika WS_XML_CANONICALIZATION_ALGORITHM tidak ditentukan WS_EXCLUSIVE_XML_CANONICALIZATION_ALGORITHM digunakan.

Algoritma WS_INCLUSIVE_XML_CANONICALIZATION_ALGORITHM dan WS_INCLUSIVE_WITH_COMMENTS_XML_CANONICALIZATION_ALGORITHM hanya dapat digunakan dengan seluruh dokumen XML. Pembaca harus diposisikan di WS_XML_NODE_TYPE_BOF ketika WsStartReaderCanonicalization dipanggil dengan algoritma ini.

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