次の方法で共有


WsWriteXmlBufferToBytes 関数 (webservices.h)

ライターを使用して、 WS_XML_BUFFER をエンコードされたバイト セットに変換します。

構文

HRESULT WsWriteXmlBufferToBytes(
  [in]           WS_XML_WRITER                *writer,
  [in]           WS_XML_BUFFER                *xmlBuffer,
  [in, optional] const WS_XML_WRITER_ENCODING *encoding,
                 const WS_XML_WRITER_PROPERTY *properties,
  [in]           ULONG                        propertyCount,
  [in]           WS_HEAP                      *heap,
                 void                         **bytes,
  [out]          ULONG                        *byteCount,
  [in, optional] WS_ERROR                     *error
);

パラメーター

[in] writer

エンコードされたバイトを生成するために使用するライター。

[in] xmlBuffer

書き込む XML バッファー。

[in, optional] encoding

バイトを生成するときに使用するエンコード。 NULL の場合、バイトは utf8 でエンコードされます。

properties

ライターの省略可能なプロパティの配列。 「WS_XML_WRITER_PROPERTY」を参照してください。

[in] propertyCount

プロパティの数。

[in] heap

バイトを割り当てるヒープ。

bytes

生成されたバイトはここで返されます。

[out] byteCount

生成されたバイト数がここで返されます。

[in, optional] error

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

戻り値

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

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

注釈

関数は、指定したエンコードで指定されたヒープから割り当てられたバイトの線形セットとして、 WS_XML_BUFFER の内容全体を生成します。

この関数を呼び出した後、ライターは未定義の状態になります。 ただし、 WsWriteXmlBufferToBytes は、このようなライターで再度使用できます。 それ以外の場合は、 WsSetOutput または WsSetOutputToBuffer を使用してライターを既知の状態に戻すか、 WsFreeWriter を使用してライターを解放する必要があります。

要件

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