次の方法で共有


WS_READ_TYPE_CALLBACKコールバック関数 (webservices.h)

WS_TYPEが指定されている場合に値を読み取ります。 これにより、コアシリアル化モデルに簡単にマップできない XML コンストラクトを読み取ることができます。

構文

WS_READ_TYPE_CALLBACK WsReadTypeCallback;

HRESULT WsReadTypeCallback(
  [in]           WS_XML_READER *reader,
  [in]           WS_TYPE_MAPPING typeMapping,
  [in]           const void *descriptionData,
  [in, optional] WS_HEAP *heap,
                 void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

パラメーター

[in] reader

型の値を含む WS_XML_READER ハンドルへのポインター。

[in] typeMapping

XML がこの型にどのようにマップされているかを示します。

この特定の型に対してマッピングが意味をなさない場合、コールバックは WS_E_INVALID_OPERATIONを返す必要があります。 ( 「Windows Web サービスの戻り値」を参照してください)。コールバック実装は、将来のバージョンで新しいマッピング型を渡すように準備する必要があり、そのような場合 はWS_E_INVALID_OPERATION を返す必要があります。

[in] descriptionData

WS_CUSTOM_TYPE_DESCRIPTION構造体の descriptionData フィールドの値へのポインター。 コールバックはこれを使用して、型に関する追加情報にアクセスできます。

[in, optional] heap

入れ子になったフィールドなど、この型に関連付けられている追加データを割り当てる際に使用するヒープへのポインター。

呼び出し元が型の逆シリアル化時にWS_HEAP オブジェクトを指定しなかった場合、このパラメーターは NULL になる可能性があることに注意してください。

value

逆シリアル化されている値を保持するバッファーへのポインター。 コールバックは、リーダーの現在の内容と typeMapping に基づいて値を入力します。 コールバックは、必要に応じて指定されたヒープを使用して、値に関連付けられている値を割り当てることができます。

[in] valueSize

逆シリアル化されるバッファー サイズ。 バッファーは、 WS_CUSTOM_TYPE_DESCRIPTIONで指定されたサイズに従って割り当てられます。

[in, optional] error

関数 WS_ERROR 失敗した場合に追加のエラー情報を格納する必要があるデータ構造へのポインター。

戻り値

このコールバック関数は値を返しません。

解説

コールバックは、WS_TYPE_MAPPINGのドキュメントの WsReadType と同じ呼び出しシーケンスで呼び出されます。 これにより、コールバックが読み取る XML の部分が定義されます。

要件

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