WsSetOutput 関数 (webservices.h)
ライターのエンコード コールバックと出力コールバックを設定します。 コールバックは、ライターにバッファーを提供し、非同期 i/o を実行するために使用されます。
構文
HRESULT WsSetOutput(
[in] WS_XML_WRITER *writer,
[in, optional] const WS_XML_WRITER_ENCODING *encoding,
[in, optional] const WS_XML_WRITER_OUTPUT *output,
const WS_XML_WRITER_PROPERTY *properties,
[in] ULONG propertyCount,
[in, optional] WS_ERROR *error
);
パラメーター
[in] writer
出力が設定されるライター。
[in, optional] encoding
エンコードでは、入力バイトの形式が記述されます。 これは、WS_XML_WRITER_TEXT_ENCODING、WS_XML_WRITER_BINARY_ENCODING、またはWS_XML_WRITER_MTOM_ENCODINGのいずれかである必要があります。
[in, optional] output
ライターがデータを配置する場所を指定します。
properties
ライターの省略可能なプロパティの配列。 「WS_XML_WRITER_PROPERTY」を参照してください。
[in] propertyCount
プロパティの数。
[in, optional] error
関数が失敗した場合に追加のエラー情報を格納する場所を指定します。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
1 つ以上の引数が無効です。 |
解説
ライターで WsSetOutput を使用すると、ライターは前方専用の方法で機能し、WsGetWriterPosition、WsSetWriterPosition、および WsMoveWriter 関数は使用できません。
エンコードが NULL の場合、WS_XML_WRITER_OUTPUTは無視され、書き込み試行が失敗するようにライターが設定されます。
エンコードが NULL でない場合は、WS_XML_WRITER_OUTPUTも NULL 以外である必要があります。
WS_XML_WRITER_OUTPUTがWS_XML_WRITER_BUFFER_OUTPUT場合、ライターはドキュメントの生成されたバイトをバッファーに格納します。 これらのバイトを取得するには、WS_XML_WRITER_PROPERTY_BUFFERSまたはWS_XML_WRITER_PROPERTY_BYTESで WsGetWriterProperty を使用します。 このモードでは 、WsFlushWriter は無効です。
WS_XML_WRITER_OUTPUTがWS_XML_WRITER_STREAM_OUTPUT場合、ライターは WsFlushWriter の呼び出し中に、ドキュメントの生成されたバイトを指定されたWS_WRITE_CALLBACKに渡します。
ライターは、 WsCreateWriter で指定されたプロパティを使用するように初期化されます。 WsSetOutput に指定されたプロパティは、これらのプロパティをオーバーライドします。
ライターのプロパティの既定値については、「 WsCreateWriter 」を参照してください。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | webservices.h |
Library | WebServices.lib |
[DLL] | WebServices.dll |