ホーム › Data.Xml.MsXml › IXMLHTTPRequest3Callback
IXMLHTTPRequest3Callback
COM公式ドキュメント
HTTP リクエストおよびレスポンスの処理に影響するイベントを、処理中の IXMLHTTPRequest3 リクエストを持つアプリケーションに通知するためのコールバックを定義します。
解説(Remarks)
IXMLHTTPRequest3 インターフェイスと IXMLHTTPRequest3Callback インターフェイスは、IXMLHTTPRequest2 および IXMLHTTPRequest2Callback インターフェイスの機能を次の点で拡張します。
- IXMLHTTPRequest3 インターフェイスの SetClientCertificate メソッドにより、HTTPS リクエストで使用するクライアント証明書を設定できます。
- IXMLHTTPRequest3Callback インターフェイスの OnClientCertificateRequested メソッドにより、次の HTTP リクエストで使用可能なクライアント証明書を絞り込むための発行者リストを取得できます。
- 本来であれば HTTPS 接続を中止させるような特定の証明書エラーを無視できます。
- IXMLHTTPRequest3Callback インターフェイスの OnServerCertificateReceived メソッドにより、HTTPS レスポンスから証明書エラーとサーバー証明書チェーンを取得できます。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 8 HRESULT OnServerCertificateReceived(IXMLHTTPRequest3* pXHR, DWORD dwCertificateErrors, DWORD cServerCertificateChain, XHR_CERT* rgServerCertificateChain)
サーバーとの SSL ネゴシエーション中に、クライアントが証明書エラーまたはサーバー証明書チェーンを受け取ったときに発生します。
| pXHR | IXMLHTTPRequest3* | in | 最初の HTTP リクエストです。 |
| dwCertificateErrors | DWORD | in | HTTPS 接続で発生した証明書エラーです (XHR_CERT_ERROR_FLAG を参照してください)。 |
| cServerCertificateChain | DWORD | in | rgServerCertChain パラメーターに含まれる要素の数です。 |
| rgServerCertificateChain | XHR_CERT* | in | サーバー証明書チェーンを表す XHR_CERT 構造体の配列です。 |
戻り値
成功した場合は S_OK を返します。
解説(Remarks)
メモ このコールバックメソッドは例外をスローしてはなりません。
vtbl 9 HRESULT OnClientCertificateRequested(IXMLHTTPRequest3* pXHR, DWORD cIssuerList, WORD** rgpwszIssuerList)
サーバーとの SSL ネゴシエーション中に、クライアントがクライアント証明書の要求を受け取ったときに発生します。
| pXHR | IXMLHTTPRequest3* | in | 最初の HTTP リクエストです。 |
| cIssuerList | DWORD | in | rgpwszIssuerList パラメーターに含まれる文字列の数です。 |
| rgpwszIssuerList | WORD** | in | 発行者リストを表す文字列の配列です。 |
戻り値
成功した場合は S_OK を返します。
解説(Remarks)
メモ このコールバックメソッドは例外をスローしてはなりません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 指定が可能。#define global IID_IXMLHTTPRequest3Callback "{B9E57830-8C6C-4A6F-9C13-47772BB047BB}" #usecom global IXMLHTTPRequest3Callback IID_IXMLHTTPRequest3Callback "{}" #comfunc global IXMLHTTPRequest3Callback_OnServerCertificateReceived 8 sptr,int,int,sptr #comfunc global IXMLHTTPRequest3Callback_OnClientCertificateRequested 9 sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。