ホーム › Security.Cryptography.Certificates › IX509Enrollment2
IX509Enrollment2
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 5
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 30 HRESULT InitializeFromTemplate(X509CertificateEnrollmentContext context, IX509EnrollmentPolicyServer* pPolicyServer, IX509CertificateTemplate* pTemplate)
| context | X509CertificateEnrollmentContext | in | 登録処理を行う登録コンテキストを指定する X509CertificateEnrollmentContext 列挙値である。 |
| pPolicyServer | IX509EnrollmentPolicyServer* | inoptional | テンプレートの取得元となる IX509EnrollmentPolicyServer オブジェクトを渡す。 |
| pTemplate | IX509CertificateTemplate* | inoptional | 登録に使用する証明書テンプレートを表す IX509CertificateTemplate オブジェクトを渡す。 |
vtbl 31 HRESULT InstallResponse2(InstallResponseRestrictionFlags Restrictions, LPWSTR strResponse, EncodingType Encoding, LPWSTR strPassword, LPWSTR strEnrollmentPolicyServerUrl, LPWSTR strEnrollmentPolicyServerID, PolicyServerUrlFlags EnrollmentPolicyServerFlags, X509EnrollmentAuthFlags authFlags)
| Restrictions | InstallResponseRestrictionFlags | in | 応答のインストール時に適用する制限を指定する InstallResponseRestrictionFlags 列挙値である。 |
| strResponse | LPWSTR | in | CA から受け取った証明書応答を指定エンコーディングの文字列として渡す。 |
| Encoding | EncodingType | in | strResponse のエンコーディング種別を指定する EncodingType 列挙値である。 |
| strPassword | LPWSTR | in | 応答に含まれる保護された情報を復号するためのパスワードを文字列で指定する。 |
| strEnrollmentPolicyServerUrl | LPWSTR | in | 応答に関連付ける登録ポリシーサーバーの URL を文字列で指定する。 |
| strEnrollmentPolicyServerID | LPWSTR | in | 応答に関連付ける登録ポリシーサーバーの ID を文字列で指定する。 |
| EnrollmentPolicyServerFlags | PolicyServerUrlFlags | in | 登録ポリシーサーバー URL の属性を指定する PolicyServerUrlFlags 列挙値である。 |
| authFlags | X509EnrollmentAuthFlags | in | ポリシーサーバーへの接続に用いる認証方式を指定する X509EnrollmentAuthFlags 列挙値である。 |
vtbl 32 HRESULT get_PolicyServer(IX509EnrollmentPolicyServer** ppPolicyServer)
| ppPolicyServer | IX509EnrollmentPolicyServer** | out | この登録に関連付けられた IX509EnrollmentPolicyServer オブジェクトを受け取るポインタである。 |
vtbl 33 HRESULT get_Template(IX509CertificateTemplate** ppTemplate)
| ppTemplate | IX509CertificateTemplate** | out | この登録に関連付けられた IX509CertificateTemplate オブジェクトを受け取るポインタである。 |
| pValue | LPWSTR* | out | CA 上での要求 ID を文字列として受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IX509Enrollment2 "{728AB350-217D-11DA-B2A4-000E7BBB2B09}" #usecom global IX509Enrollment2 IID_IX509Enrollment2 "{}" #comfunc global IX509Enrollment2_InitializeFromTemplate 30 int,sptr,sptr #comfunc global IX509Enrollment2_InstallResponse2 31 int,wstr,int,wstr,wstr,wstr,int,int #comfunc global IX509Enrollment2_get_PolicyServer 32 sptr #comfunc global IX509Enrollment2_get_Template 33 sptr #comfunc global IX509Enrollment2_get_RequestIdString 34 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IX509Enrollment2 "{728AB350-217D-11DA-B2A4-000E7BBB2B09}" #usecom global IX509Enrollment2 IID_IX509Enrollment2 "{}" #comfunc global IX509Enrollment2_InitializeFromTemplate 30 int,sptr,sptr #comfunc global IX509Enrollment2_InstallResponse2 31 int,wstr,int,wstr,wstr,wstr,int,int #comfunc global IX509Enrollment2_get_PolicyServer 32 sptr #comfunc global IX509Enrollment2_get_Template 33 sptr #comfunc global IX509Enrollment2_get_RequestIdString 34 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。