Win32 API 日本語リファレンス
ホーム › Networking.WindowsWebServices › WS_READ_TYPE_CALLBACK

WS_READ_TYPE_CALLBACK

コールバック

シグネチャ

HRESULT WS_READ_TYPE_CALLBACK(
    WS_XML_READER* reader,
    WS_TYPE_MAPPING typeMapping,
    void* descriptionData,
    WS_HEAP* heap,
    void* value,
    DWORD valueSize,
    WS_ERROR* error
);

パラメーター

フィールド型説明
readerWS_XML_READER*型の値を保持する WS_XML_READER ハンドルへのポインター。
typeMappingWS_TYPE_MAPPING

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

この型に対してマッピングが意味を成さない場合、コールバックは WS_E_INVALID_OPERATION を返す必要があります (Windows Web Services Return Values を参照してください)。コールバックの実装は、将来のバージョンで新しいマッピング型が渡される場合に備え、そのような場合には WS_E_INVALID_OPERATION を返すようにしてください。

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

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

型の逆シリアル化時に呼び出し元が WS_HEAP オブジェクトを指定しなかった場合、このパラメーターは NULL になることがあります。

valuevoid*逆シリアル化される値を保持するバッファーへのポインター。コールバックは、リーダーの現在の内容と typeMapping に基づいて値を設定する役割を担います。コールバックは、必要に応じて、渡されたヒープを使用してこの値に関連付けられた値を割り当てることができます。
valueSizeDWORD逆シリアル化されるバッファーのサイズ。バッファーは WS_CUSTOM_TYPE_DESCRIPTION で指定されたサイズに従って割り当てられます。
errorWS_ERROR*関数が失敗した場合に追加のエラー情報を格納する WS_ERROR データ構造へのポインター。

公式ドキュメント

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

戻り値

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

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)