WsPushBytes 関数 (webservices.h)

要素内のバイトを書き込むコールバックを確立します。 一部のエンコードでは、データのコピーを排除することで、この方が効率的になる場合があります。

構文

HRESULT WsPushBytes(
  [in]           WS_XML_WRITER          *writer,
  [in]           WS_PUSH_BYTES_CALLBACK callback,
  [in, optional] void                   *callbackState,
  [in, optional] WS_ERROR               *error
);

パラメーター

[in] writer

バイトが書き込まれる XML ライター オブジェクトへのポインター。 ポインターは有効な WS_XML_WRITER を参照する必要があり、参照される値が NULL ではない可能性があります。

[in] callback

このパラメーターは、 を呼び出してデータを書き込むコールバックです。

[in, optional] callbackState

コールバック関数に渡されるユーザー定義状態へのポインター。

[in, optional] error

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

戻り値

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

リターン コード 説明
E_INVALIDARG
1 つ以上の引数が無効です。
WS_E_INVALID_OPERATION
オブジェクトの現在の状態のため、操作は許可されません。

解説

wsPushBytes は、WS_XML_WRITER_MTOM_ENCODINGを使用して書き込むときに、バイトを独自の MIME 部分に直接書き込み、コピーを回避する方法を提供します。 ただし、ライターの裁量により、コールバックをすぐに呼び出すことができます。そのため、呼び出し元はこれに備える必要があります。

エンコードでこの動作を利用できない場合、 WsPushBytes はコールバックを直ちに呼び出し、 WsWriteBytes が呼び出されたかのように動作します。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー webservices.h
Library WebServices.lib
[DLL] WebServices.dll