次の方法で共有


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

関数が失敗した場合に追加のエラー情報を格納する場所を指定します。

戻り値

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

リターン コード 説明
E_INVALIDARG
1 つ以上の引数が無効です。

解説

ライターで WsSetOutput を使用すると、ライターは前方専用の方法で機能し、WsGetWriterPositionWsSetWriterPositionおよび WsMoveWriter 関数は使用できません。

エンコードNULL の場合、WS_XML_WRITER_OUTPUTは無視され、書き込み試行が失敗するようにライターが設定されます。

エンコードNULL でない場合は、WS_XML_WRITER_OUTPUTも NULL 以外である必要があります。

WS_XML_WRITER_OUTPUTWS_XML_WRITER_BUFFER_OUTPUT場合、ライターはドキュメントの生成されたバイトをバッファーに格納します。 これらのバイトを取得するには、WS_XML_WRITER_PROPERTY_BUFFERSまたはWS_XML_WRITER_PROPERTY_BYTESWsGetWriterProperty を使用します。 このモードでは 、WsFlushWriter は無効です。

WS_XML_WRITER_OUTPUTWS_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