WsStartReaderCanonicalization 函式 (webservices.h)
此作業會開始將指定的 XML 讀取器放入標準或「標準化」表單的程式。
標準化的使用模式為:
- 將 Reader 移至正式化開始的專案。
- 呼叫 WsStartReaderCanonicalization。
- 將讀取器向前移至結束位置。
- 呼叫 WsEndReaderCanonicalization。
為了只針對標準化 XML 元素節點使用 XML 讀取器,應用程式可以在讀取器位於元素上時呼叫 WsStartReaderCanonicalization、 WsSkipNode 和 WsEndReaderCanonicalization 。
必須呼叫 WsEndReaderCanonicalization ,以確保所有標準位元組都會寫入指定的回呼。
WsEndReaderCanonicalization
必須在 WsStartReaderCanonicalization 所在的相同深度呼叫。 如果移至低於 呼叫 WsStartReaderCanonicalization 的深度,其他讀取器函式會傳回錯誤。
d呼叫 WsStartReaderCanonicalization 和 WsEndReaderCanonicalization 之間的讀取器上的 WsMoveReader 或 WsSetReaderPosition 無效。
語法
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
);
參數
[in] reader
啟動標準化 之WS_XML_READER 物件的指標。 指標必須參考有效的 XML Reader 物件。
[in] writeCallback
叫用回呼函式以在產生標準位元組時寫入。
[in] writeCallbackState
叫用 WS_WRITE_CALLBACK時所傳遞之呼叫端定義狀態的指標。
properties
選擇性屬性的「數位」參考,控制如何執行標準化。
[in] propertyCount
屬性數目。
[in, optional] error
WS_ERROR 物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。
傳回值
此函式可以傳回下列其中一個值。
傳回碼 | Description |
---|---|
|
一或多個引數無效。 |
|
由於物件的目前狀態,不允許此作業。 |
|
輸入數據不是預期的格式,或沒有預期的值。 |
備註
無法巢狀呼叫此函式。 因此 ,呼叫 WsStartReaderCanonicalization 之後必須接著呼叫 WsEndReaderCanonicalization ,才能進行下一個 WsStartReaderCanonicalization 呼叫。
如果未指定WS_XML_CANONICALIZATION_ALGORITHM,則會使用 WS_EXCLUSIVE_XML_CANONICALIZATION_ALGORITHM。
WS_INCLUSIVE_XML_CANONICALIZATION_ALGORITHM和WS_INCLUSIVE_WITH_COMMENTS_XML_CANONICALIZATION_ALGORITHM演算法只能與整個 XML 檔搭配使用。 使用這些演算法呼叫 WsStartReaderCanonicalization 時,讀取器必須位於WS_XML_NODE_TYPE_BOF。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |