WsStartReaderCanonicalization 関数 (webservices.h)

この操作は、指定された XML リーダーを標準または "キヤノン化" 形式で配置するプロセスを開始します。

正規化の使用パターンは次のとおりです。

  • 正規化が開始される要素に Reader を移動します。
  • WsStartReaderCanonicalization を呼び出します。
  • リーダーを終了位置まで前方に移動します。
  • WsEndReaderCanonicalization を呼び出します。
このプロセス中に、正規バイトは指定された writeCallback に書き込まれます。
メモ 高度なノードは、 WsSkipNode を使用してスキップされた子要素のノードを含む正規化されます。 これは、データの読み取りに使用される関数に関係なく、XML コンテンツに対して正規化と解析を 1 回のパスで実行できるため、有益です。
 

XML 要素ノードを正規化するためだけに XML リーダーを使用するために、アプリケーションは、リーダーが 要素に配置されている場合に WsStartReaderCanonicalizationWsSkipNodeおよび WsEndReaderCanonicalization を呼び出すことができます。

すべての正規化バイトが指定されたコールバックに確実に書き込まれるようにするには、WsEndReaderCanonicalization を呼び出す必要があります。

メモWsEndReaderCanonicalization は、 WsStartReaderCanonicalization と同じ深さで呼び出す必要があります。 他のリーダー関数は、 WsStartReaderCanonicalization が呼び出された場所より低い深さに移動するとエラーを返します。 d
 

WsStartReaderCanonicalizationWsEndReaderCanonicalization の呼び出しの間に、リーダーで 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 リーダー オブジェクトを参照する必要があります。

[in] writeCallback

生成された正規バイトを書き込むために呼び出されたコールバック関数。

メモ このコールバックは同期的に呼び出されます。

 

[in] writeCallbackState

WS_WRITE_CALLBACKを呼び出すときに渡される呼び出し元定義状態へのポインター。

properties

正規化の実行方法を制御する省略可能なプロパティの "配列" 参照。

メモ 詳細については 、「WS_XML_CANONICALIZATION_PROPERTY 」を参照してください。

 

[in] propertyCount

プロパティの数。

[in, optional] error

関数 が失敗 した場合にエラーに関する追加情報を格納する必要があるWS_ERROR オブジェクトへのポインター。

戻り値

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
E_INVALIDARG
1 つ以上の引数が無効です。
WS_E_INVALID_OPERATION
オブジェクトの現在の状態のため、操作は許可されません。
WS_E_INVALID_FORMAT
入力データの形式が正しくないか、予期した値が指定されていませんでした。

注釈

この関数の呼び出しを入れ子にすることはできません。 そのため、 次の WsStartReaderCanonicalization 呼び出しを行う前に、 WsStartReaderCanonicalization の呼び出しの後に WsEndReaderCanonicalization を呼び出す必要があります。

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
Library WebServices.lib
[DLL] WebServices.dll