WsStartWriterCanonicalization 函式 (webservices.h)
在指定的 XML 寫入器上啟動標準化。
語法
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
);
參數
[in] writer
應該啟動標準化的 XML 寫入器。
[in] writeCallback
要叫用以寫入標準位元組的回呼,因為會產生這些位元組。 這個回呼一律會以同步方式叫用。
[in] writeCallbackState
叫用 WS_WRITE_CALLBACK時應該傳遞的呼叫端定義狀態。
properties
選擇性屬性陣列,控制如何執行標準化。 請參閱 WS_XML_CANONICALIZATION_PROPERTY。
[in] propertyCount
屬性數目。
[in, optional] error
指定函式失敗時應儲存其他錯誤資訊的位置。
傳回值
此函式可以傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
一或多個引數無效。 |
|
由於 物件的目前狀態,不允許此作業。 |
|
輸入資料不是預期的格式,或沒有預期的值。 |
備註
標準化的使用模式是:
- 呼叫 WsStartWriterCanonicalization,
- 寫入要正式化的 xml,
- 呼叫 WsEndWriterCanonicalization。
WsEndWriterCanonicalization 必須在呼叫 WsStartWriterCanonicalization 的相同深度呼叫。 如果其他寫入器 API 會移至低於 呼叫 WsStartWriterCanonicalization 的深度,則會傳回錯誤。
在一對相符WsStartWriterCanonicalization和WsEndWriterCanonicalization呼叫之間的寫入器上呼叫WsMoveWriter或WsSetWriterPosition是不正確作業。
無法巢狀呼叫此 API。 因此,呼叫 WsStartWriterCanonicalization 之後必須接著呼叫 WsEndWriterCanonicalization ,再呼叫下一個 WsStartWriterCanonicalization 呼叫。
如果未指定 WS_XML_CANONICALIZATION_ALGORITHM ,則會使用 WS_EXCLUSIVE_XML_CANONICALIZATION_ALGORITHM 。
WS_INCLUSIVE_XML_CANONICALIZATION_ALGORITHM和WS_INCLUSIVE_WITH_COMMENTS_XML_CANONICALIZATION_ALGORITHM演算法只能與整個 xml 檔搭配使用。 當使用這些演算法呼叫WsStartWriterCanonicalization時,寫入器必須位於WS_XML_NODE_TYPE_BOF。
規格需求
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |