ホーム › Security.Cryptography.Certificates › ICertAdmin2
ICertAdmin2
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 11
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| Date | DOUBLE | in | 発行するCRLの次回更新予定日時を表すOLEオートメーション日付(DOUBLE)で指定する。 |
| CRLFlags | INT | in | 発行するCRLの種類や動作を制御するフラグを指定する。 |
vtbl 18 HRESULT GetCAProperty(LPWSTR strConfig, INT PropId, INT PropIndex, INT PropType, INT Flags, VARIANT* pvarPropertyValue)
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| PropId | INT | in | 取得するCAプロパティを識別するプロパティIDを指定する。 |
| PropIndex | INT | in | 複数値プロパティの場合に取得する項目のインデックスを指定する。 |
| PropType | INT | in | 取得するプロパティのデータ型を指定する。 |
| Flags | INT | in | プロパティの取得形式を制御するフラグを指定する。 |
| pvarPropertyValue | VARIANT* | out | 取得したCAプロパティの値を格納したVARIANTを受け取るポインタである。 |
vtbl 19 HRESULT SetCAProperty(LPWSTR strConfig, INT PropId, INT PropIndex, CERT_PROPERTY_TYPE PropType, VARIANT* pvarPropertyValue)
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| PropId | INT | in | 設定するCAプロパティを識別するプロパティIDを指定する。 |
| PropIndex | INT | in | 複数値プロパティの場合に設定する項目のインデックスを指定する。 |
| PropType | CERT_PROPERTY_TYPE | in | 設定するプロパティのデータ型(CERT_PROPERTY_TYPE)を指定する。 |
| pvarPropertyValue | VARIANT* | in | CAプロパティに設定する値を格納したVARIANTへのポインタである。 |
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| PropId | INT | in | フラグを取得するCAプロパティのプロパティIDを指定する。 |
| pPropFlags | INT* | out | 指定したプロパティの属性を表すフラグを受け取るポインタである。 |
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| PropId | INT | in | 表示名を取得するCAプロパティのプロパティIDを指定する。 |
| pstrDisplayName | LPWSTR* | out | 指定したプロパティの表示名を格納した文字列を受け取るポインタである。 |
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| RequestId | INT | in | アーカイブ済み秘密鍵を取得する対象の要求IDを指定する。 |
| Flags | INT | in | 鍵の取得形式を制御するフラグを指定する。 |
| pstrArchivedKey | LPWSTR* | out | 取得したアーカイブ済み秘密鍵(PKCS#7エンベロープ)を格納した文字列を受け取るポインタである。 |
vtbl 23 HRESULT GetConfigEntry(LPWSTR strConfig, LPWSTR strNodePath, LPWSTR strEntryName, VARIANT* pvarEntry)
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| strNodePath | LPWSTR | in | 構成エントリが格納されているノードのパスをBSTRで指定する。 |
| strEntryName | LPWSTR | in | 取得する構成エントリの名前をBSTRで指定する。 |
| pvarEntry | VARIANT* | out | 取得した構成エントリの値を格納したVARIANTを受け取るポインタである。 |
vtbl 24 HRESULT SetConfigEntry(LPWSTR strConfig, LPWSTR strNodePath, LPWSTR strEntryName, VARIANT* pvarEntry)
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| strNodePath | LPWSTR | in | 構成エントリを格納するノードのパスをBSTRで指定する。 |
| strEntryName | LPWSTR | in | 設定する構成エントリの名前をBSTRで指定する。 |
| pvarEntry | VARIANT* | in | 構成エントリに設定する値を格納したVARIANTへのポインタである。 |
vtbl 25 HRESULT ImportKey(LPWSTR strConfig, INT RequestId, LPWSTR strCertHash, CERT_IMPORT_FLAGS Flags, LPWSTR strKey)
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| RequestId | INT | in | 鍵を関連付ける対象の要求IDを指定する。 |
| strCertHash | LPWSTR | in | 鍵をアーカイブする証明書のハッシュをBSTRで指定する。 |
| Flags | CERT_IMPORT_FLAGS | in | 鍵のインポート動作を制御するフラグ(CERT_IMPORT_FLAGS)を指定する。 |
| strKey | LPWSTR | in | インポートする秘密鍵(エンコード済み)をBSTRで指定する。 |
vtbl 26 HRESULT GetMyRoles(LPWSTR strConfig, CERTADMIN_GET_ROLES_FLAGS* pRoles)
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| pRoles | CERTADMIN_GET_ROLES_FLAGS* | out | 呼び出し元に付与されているCA管理ロール(CERTADMIN_GET_ROLES_FLAGS)を受け取るポインタである。 |
vtbl 27 HRESULT DeleteRow(LPWSTR strConfig, CERT_DELETE_ROW_FLAGS Flags, DOUBLE Date, CVRC_TABLE Table, INT RowId, INT* pcDeleted)
| strConfig | LPWSTR | in | 対象の証明機関(CA)の構成文字列をBSTRで指定する。 |
| Flags | CERT_DELETE_ROW_FLAGS | in | 行の削除条件を制御するフラグ(CERT_DELETE_ROW_FLAGS)を指定する。 |
| Date | DOUBLE | in | 削除対象を絞り込む基準日時を表すOLEオートメーション日付(DOUBLE)で指定する。 |
| Table | CVRC_TABLE | in | 行を削除する対象のデータベーステーブル(CVRC_TABLE)を指定する。 |
| RowId | INT | in | 削除する特定の行のIDを指定する。0の場合は日付条件で削除する。 |
| pcDeleted | INT* | out | 実際に削除された行の数を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ICertAdmin2 "{F7C3AC41-B8CE-4FB4-AA58-3D1DC0E36B39}" #usecom global ICertAdmin2 IID_ICertAdmin2 "{}" #comfunc global ICertAdmin2_PublishCRLs 17 wstr,double,int #comfunc global ICertAdmin2_GetCAProperty 18 wstr,int,int,int,int,var #comfunc global ICertAdmin2_SetCAProperty 19 wstr,int,int,int,var #comfunc global ICertAdmin2_GetCAPropertyFlags 20 wstr,int,var #comfunc global ICertAdmin2_GetCAPropertyDisplayName 21 wstr,int,var #comfunc global ICertAdmin2_GetArchivedKey 22 wstr,int,int,var #comfunc global ICertAdmin2_GetConfigEntry 23 wstr,wstr,wstr,var #comfunc global ICertAdmin2_SetConfigEntry 24 wstr,wstr,wstr,var #comfunc global ICertAdmin2_ImportKey 25 wstr,int,wstr,int,wstr #comfunc global ICertAdmin2_GetMyRoles 26 wstr,var #comfunc global ICertAdmin2_DeleteRow 27 wstr,int,double,int,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ICertAdmin2 "{F7C3AC41-B8CE-4FB4-AA58-3D1DC0E36B39}" #usecom global ICertAdmin2 IID_ICertAdmin2 "{}" #comfunc global ICertAdmin2_PublishCRLs 17 wstr,double,int #comfunc global ICertAdmin2_GetCAProperty 18 wstr,int,int,int,int,sptr #comfunc global ICertAdmin2_SetCAProperty 19 wstr,int,int,int,sptr #comfunc global ICertAdmin2_GetCAPropertyFlags 20 wstr,int,sptr #comfunc global ICertAdmin2_GetCAPropertyDisplayName 21 wstr,int,sptr #comfunc global ICertAdmin2_GetArchivedKey 22 wstr,int,int,sptr #comfunc global ICertAdmin2_GetConfigEntry 23 wstr,wstr,wstr,sptr #comfunc global ICertAdmin2_SetConfigEntry 24 wstr,wstr,wstr,sptr #comfunc global ICertAdmin2_ImportKey 25 wstr,int,wstr,int,wstr #comfunc global ICertAdmin2_GetMyRoles 26 wstr,sptr #comfunc global ICertAdmin2_DeleteRow 27 wstr,int,double,int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。