Win32 API 日本語リファレンス
ホームData.Xml.MsXml › IXMLHTTPRequest3Callback

IXMLHTTPRequest3Callback

COM
IIDb9e57830-8c6c-4a6f-9c13-47772bb047bb継承元IXMLHTTPRequest2Callback自前メソッド開始 vtbl8

公式ドキュメント

HTTP リクエストおよびレスポンスの処理に影響するイベントを、処理中の IXMLHTTPRequest3 リクエストを持つアプリケーションに通知するためのコールバックを定義します。

解説(Remarks)

IXMLHTTPRequest3 インターフェイスと IXMLHTTPRequest3Callback インターフェイスは、IXMLHTTPRequest2 および IXMLHTTPRequest2Callback インターフェイスの機能を次の点で拡張します。

メソッド 2

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 8 HRESULT OnServerCertificateReceived(IXMLHTTPRequest3* pXHR, DWORD dwCertificateErrors, DWORD cServerCertificateChain, XHR_CERT* rgServerCertificateChain)

サーバーとの SSL ネゴシエーション中に、クライアントが証明書エラーまたはサーバー証明書チェーンを受け取ったときに発生します。

pXHRIXMLHTTPRequest3*in最初の HTTP リクエストです。
dwCertificateErrorsDWORDinHTTPS 接続で発生した証明書エラーです (XHR_CERT_ERROR_FLAG を参照してください)。
cServerCertificateChainDWORDinrgServerCertChain パラメーターに含まれる要素の数です。
rgServerCertificateChainXHR_CERT*inサーバー証明書チェーンを表す XHR_CERT 構造体の配列です。

戻り値

成功した場合は S_OK を返します。

解説(Remarks)

メモ このコールバックメソッドは例外をスローしてはなりません。
vtbl 9 HRESULT OnClientCertificateRequested(IXMLHTTPRequest3* pXHR, DWORD cIssuerList, WORD** rgpwszIssuerList)

サーバーとの SSL ネゴシエーション中に、クライアントがクライアント証明書の要求を受け取ったときに発生します。

pXHRIXMLHTTPRequest3*in最初の HTTP リクエストです。
cIssuerListDWORDinrgpwszIssuerList パラメーターに含まれる文字列の数です。
rgpwszIssuerListWORD**in発行者リストを表す文字列の配列です。

戻り値

成功した場合は S_OK を返します。

解説(Remarks)

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

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IXMLHTTPRequest3Callback "{B9E57830-8C6C-4A6F-9C13-47772BB047BB}"
#usecom global IXMLHTTPRequest3Callback IID_IXMLHTTPRequest3Callback "{}"
#comfunc global IXMLHTTPRequest3Callback_OnServerCertificateReceived   8 sptr,int,int,var
#comfunc global IXMLHTTPRequest3Callback_OnClientCertificateRequested  9 sptr,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。