次の方法で共有


WsReadXmlBufferFromBytes 関数 (webservices.h)

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

構文

HRESULT WsReadXmlBufferFromBytes(
  [in]           WS_XML_READER                *reader,
  [in, optional] const WS_XML_READER_ENCODING *encoding,
                 const WS_XML_READER_PROPERTY *properties,
  [in]           ULONG                        propertyCount,
                 const void                   *bytes,
  [in]           ULONG                        byteCount,
  [in]           WS_HEAP                      *heap,
                 WS_XML_BUFFER                **xmlBuffer,
  [in, optional] WS_ERROR                     *error
);

パラメーター

[in] reader

エンコードされたバイトの解析に使用するリーダー。

[in, optional] encoding

バイトを解析するときに使用するエンコード。 NULL の場合、文字セットが WS_CHARSET_AUTOWS_XML_READER_TEXT_ENCODINGが使用されます。

properties

リーダーの省略可能なプロパティの配列。 「WS_XML_READER_PROPERTY」を参照してください。

[in] propertyCount

プロパティの数。

bytes

解析するバイト。

[in] byteCount

解析するバイト数。

[in] heap

XML バッファーの割り当て元のヒープ。

xmlBuffer

バイトが読み取られた XML バッファーがここで返されます。

[in, optional] error

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

戻り値

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

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

注釈

関数は、指定されたエンコーディングに従ってコンテンツ全体を解析し、 それをWS_XML_BUFFERに格納します。

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

要件

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