Bagikan melalui


Fungsi WsStartWriterCanonicalization (webservices.h)

Memulai kanonisisasi pada penulis XML yang ditentukan.

Sintaks

HRESULT WsStartWriterCanonicalization(
  [in]           WS_XML_WRITER                          *writer,
  [in]           WS_WRITE_CALLBACK                      writeCallback,
  [in]           void                                   *writeCallbackState,
                 const WS_XML_CANONICALIZATION_PROPERTY *properties,
  [in]           ULONG                                  propertyCount,
  [in, optional] WS_ERROR                               *error
);

Parameter

[in] writer

Penulis XML tempat kanonisisasi harus dimulai.

[in] writeCallback

Panggilan balik yang akan dipanggil untuk menulis byte kanonis saat dihasilkan. Panggilan balik ini akan selalu dipanggil secara sinkron.

[in] writeCallbackState

Status yang ditentukan penelepon yang harus diteruskan saat memanggil WS_WRITE_CALLBACK.

properties

Array properti opsional yang mengontrol bagaimana kanonisisasi akan dilakukan. Lihat WS_XML_CANONICALIZATION_PROPERTY.

[in] propertyCount

Jumlah properti.

[in, optional] error

Menentukan tempat informasi kesalahan tambahan harus disimpan jika fungsi gagal.

Nilai kembali

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

Pola penggunaan untuk kanonisisasi adalah untuk:

Selama proses ini, byte kanonis akan ditulis ke writeCallback yang ditentukan. Setiap simpul yang ditulis oleh penulis akan dikanoniskan. Dengan demikian, kanonikalisasi dan pembuatan dapat dilakukan dalam satu pass over terlepas dari API apa yang digunakan untuk menulis XML. WsEndWriterCanonicalization harus dipanggil untuk memastikan bahwa semua byte kanonis ditulis ke panggilan balik yang ditentukan.

WsEndWriterCanonicalization harus dipanggil pada kedalaman yang sama di mana WsStartWriterCanonicalization dipanggil. API penulis lain akan mengembalikan kesalahan jika akan berpindah ke kedalaman yang lebih rendah daripada tempat WsStartWriterCanonicalization dipanggil.

Ini adalah operasi yang tidak valid untuk memanggil WsMoveWriter atau WsSetWriterPosition pada penulis antara sepasang panggilan WsStartWriterCanonicalization dan WsEndWriterCanonicalization yang cocok.

Panggilan ke API ini tidak dapat ditumpuk. Jadi, panggilan ke WsStartWriterCanonicalization harus diikuti dengan panggilan ke WsEndWriterCanonicalization sebelum panggilan WsStartWriterCanonicalization berikutnya.

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. Penulis harus memposisikan WS_XML_NODE_TYPE_BOF ketika WsStartWriterCanonicalization dipanggil dengan algoritma ini.

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