次の方法で共有


WsFillBody 関数 (webservices.h)

メッセージに読み取り用の十分なバイト数があることを確認します。 読み取る次の XML コンストラクトを格納するのに十分なバイト数を指定するのは、アプリケーションの責任です。

メモ この関数は、 WsReadBody またはメッセージの XML Reader を使用してメッセージ本文を読み取る前に呼び出されます。
 

この関数は、メッセージの書き込みに使用される XML リーダーの WsFillReader を呼び出すためのショートカットです。 WsFillReader を直接呼び出すことは、この関数を呼び出すことと同じです。

構文

HRESULT WsFillBody(
  [in]           WS_MESSAGE             *message,
  [in]           ULONG                  minSize,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

パラメーター

[in] message

"塗りつぶし" を目的とした WS_MESSAGE 構造体へのポインター。

[in] minSize

メッセージがバッファーに格納する必要がある最小バイト数。 バッファーに格納されている現在のバイト数が minSize の値以上の場合、関数は何も実行しません。

メモminSize の値は、予期される XML のエンコード形式のサイズを表します。 これは、エンコードと、実際の XML の構造によっても異なる場合があります。 この関数の一般的な用途は、エンコードまたは XML 構造に必要な上限バイト数を選択して、期待されるデータが確実に読み取られるようにすることです。
 

[in, optional] asyncContext

関数の非同期呼び出しに関する情報を含む WS_ASYNC_CONTEXT データ構造へのポインター。 NULL 値は、同期操作の要求を示します。

[in, optional] error

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

戻り値

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

リターン コード 説明
S_OK
メッセージの開始が正常に受信されました。
WS_S_ASYNC
非同期操作はまだ保留中です。
WS_E_INVALID_FORMAT
入力データが予期された形式でなかったか、予期された値を持っていませんでした。
E_INVALIDARG
1 つ以上の引数が無効です。
E_OUTOFMEMORY
メモリが不足しました。
その他のエラー
この関数は、上記以外のエラーを返す場合があります。

注釈

通常、この関数は、ストリーミング モードを WS_STREAMED_OUTPUT_TRANSFER_MODE に設定してメッセージ本文を書き込む場合、またはストリーミング モードで XML リーダーを使用する場合に使用されます。

この関数は、メッセージ本文を書き込み 、WS_STREAMED_OUTPUT_TRANSFER_MODE が設定されていない場合、または XML リーダーのモードが WS_XML_READER_BUFFER_INPUT に設定されている場合は"no-op" です。

要件

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