Win32 API 日本語リファレンス
ホームSecurity.Cryptography › ICertSrvSetup

ICertSrvSetup

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDb760a1bb-4784-44c0-8f12-555f0780ff25継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 20

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_CAErrorId(INT* pVal)
pValINT*out直近の操作で発生したエラーの ID を受け取る INT へのポインタである。
vtbl 8 HRESULT get_CAErrorString(LPWSTR* pVal)
pValLPWSTR*out直近の操作で発生したエラーの説明文字列を受け取る LPWSTR へのポインタである。
vtbl 9 HRESULT InitializeDefaults(VARIANT_BOOL bServer, VARIANT_BOOL bClient)
bServerVARIANT_BOOLinサーバーコンポーネントを初期化対象に含めるかどうかを指定する VARIANT_BOOL 値を渡す。
bClientVARIANT_BOOLinクライアントコンポーネントを初期化対象に含めるかどうかを指定する VARIANT_BOOL 値を渡す。
vtbl 10 HRESULT GetCASetupProperty(CASetupProperty propertyId, VARIANT* pPropertyValue)
propertyIdCASetupPropertyin取得する CA セットアッププロパティの種類を指定する CASetupProperty 値である。
pPropertyValueVARIANT*out取得したプロパティの値を受け取る VARIANT へのポインタである。
vtbl 11 HRESULT SetCASetupProperty(CASetupProperty propertyId, VARIANT* pPropertyValue)
propertyIdCASetupPropertyin設定する CA セットアッププロパティの種類を指定する CASetupProperty 値である。
pPropertyValueVARIANT*in設定するプロパティの値を保持する VARIANT へのポインタである。
vtbl 12 HRESULT IsPropertyEditable(CASetupProperty propertyId, VARIANT_BOOL* pbEditable)
propertyIdCASetupPropertyin編集可否を問い合わせる CA セットアッププロパティを指定する CASetupProperty 値である。
pbEditableVARIANT_BOOL*out指定プロパティが編集可能かどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 13 HRESULT GetSupportedCATypes(VARIANT* pCATypes)
pCATypesVARIANT*outサポートされる CA の種類の一覧を受け取る VARIANT へのポインタである。
vtbl 14 HRESULT GetProviderNameList(VARIANT* pVal)
pValVARIANT*out利用可能な暗号化サービスプロバイダー(CSP)名の一覧を受け取る VARIANT へのポインタである。
vtbl 15 HRESULT GetKeyLengthList(LPWSTR bstrProviderName, VARIANT* pVal)
bstrProviderNameLPWSTRinキー長一覧を問い合わせる対象のプロバイダー名を渡す。
pValVARIANT*out指定プロバイダーがサポートするキー長の一覧を受け取る VARIANT へのポインタである。
vtbl 16 HRESULT GetHashAlgorithmList(LPWSTR bstrProviderName, VARIANT* pVal)
bstrProviderNameLPWSTRinハッシュアルゴリズム一覧を問い合わせる対象のプロバイダー名を渡す。
pValVARIANT*out指定プロバイダーがサポートするハッシュアルゴリズムの一覧を受け取る VARIANT へのポインタである。
vtbl 17 HRESULT GetPrivateKeyContainerList(LPWSTR bstrProviderName, VARIANT* pVal)
bstrProviderNameLPWSTRinキーコンテナ一覧を問い合わせる対象のプロバイダー名を渡す。
pValVARIANT*out指定プロバイダー上の既存の秘密キーコンテナの一覧を受け取る VARIANT へのポインタである。
vtbl 18 HRESULT GetExistingCACertificates(ICertSrvSetupKeyInformationCollection** ppVal)
ppValICertSrvSetupKeyInformationCollection**out既存の CA 証明書に関するキー情報のコレクションを受け取るポインタへのポインタである。
vtbl 19 HRESULT CAImportPFX(LPWSTR bstrFileName, LPWSTR bstrPasswd, VARIANT_BOOL bOverwriteExistingKey, ICertSrvSetupKeyInformation** ppVal)
bstrFileNameLPWSTRinインポートする PFX(PKCS #12)ファイルのパスを渡す。
bstrPasswdLPWSTRinPFX ファイルを保護しているパスワードを渡す。
bOverwriteExistingKeyVARIANT_BOOLin既存のキーを上書きするかどうかを指定する VARIANT_BOOL 値を渡す。
ppValICertSrvSetupKeyInformation**outインポートされた CA のキー情報オブジェクトを受け取るポインタへのポインタである。
vtbl 20 HRESULT SetCADistinguishedName(LPWSTR bstrCADN, VARIANT_BOOL bIgnoreUnicode, VARIANT_BOOL bOverwriteExistingKey, VARIANT_BOOL bOverwriteExistingCAInDS)
bstrCADNLPWSTRinCA の識別名(Distinguished Name)を渡す。
bIgnoreUnicodeVARIANT_BOOLin識別名の Unicode 文字を無視するかどうかを指定する VARIANT_BOOL 値を渡す。
bOverwriteExistingKeyVARIANT_BOOLin既存のキーを上書きするかどうかを指定する VARIANT_BOOL 値を渡す。
bOverwriteExistingCAInDSVARIANT_BOOLinディレクトリサービス(DS)内の既存 CA エントリを上書きするかどうかを指定する VARIANT_BOOL 値を渡す。
vtbl 21 HRESULT SetDatabaseInformation(LPWSTR bstrDBDirectory, LPWSTR bstrLogDirectory, LPWSTR bstrSharedFolder, VARIANT_BOOL bForceOverwrite)
bstrDBDirectoryLPWSTRinCA データベースを格納するディレクトリのパスを渡す。
bstrLogDirectoryLPWSTRinCA データベースのログを格納するディレクトリのパスを渡す。
bstrSharedFolderLPWSTRinCA 構成情報を格納する共有フォルダーのパスを渡す。
bForceOverwriteVARIANT_BOOLin既存のデータベースを強制的に上書きするかどうかを指定する VARIANT_BOOL 値を渡す。
vtbl 22 HRESULT SetParentCAInformation(LPWSTR bstrCAConfiguration)
bstrCAConfigurationLPWSTRin親 CA の構成文字列(サーバー名と CA 名)を渡す。
vtbl 23 HRESULT SetWebCAInformation(LPWSTR bstrCAConfiguration)
bstrCAConfigurationLPWSTRinWeb 登録に使用する CA の構成文字列(サーバー名と CA 名)を渡す。
vtbl 24 HRESULT Install()
vtbl 25 HRESULT PreUnInstall(VARIANT_BOOL bClientOnly)
bClientOnlyVARIANT_BOOLinクライアントコンポーネントのみをアンインストール対象とするかどうかを指定する VARIANT_BOOL 値を渡す。
vtbl 26 HRESULT PostUnInstall()

HSP用 COM定義

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

出力引数:
#define global IID_ICertSrvSetup "{B760A1BB-4784-44C0-8F12-555F0780FF25}"
#usecom global ICertSrvSetup IID_ICertSrvSetup "{}"
#comfunc global ICertSrvSetup_get_CAErrorId               7 var
#comfunc global ICertSrvSetup_get_CAErrorString           8 var
#comfunc global ICertSrvSetup_InitializeDefaults          9 int,int
#comfunc global ICertSrvSetup_GetCASetupProperty          10 int,var
#comfunc global ICertSrvSetup_SetCASetupProperty          11 int,var
#comfunc global ICertSrvSetup_IsPropertyEditable          12 int,var
#comfunc global ICertSrvSetup_GetSupportedCATypes         13 var
#comfunc global ICertSrvSetup_GetProviderNameList         14 var
#comfunc global ICertSrvSetup_GetKeyLengthList            15 wstr,var
#comfunc global ICertSrvSetup_GetHashAlgorithmList        16 wstr,var
#comfunc global ICertSrvSetup_GetPrivateKeyContainerList  17 wstr,var
#comfunc global ICertSrvSetup_GetExistingCACertificates   18 sptr
#comfunc global ICertSrvSetup_CAImportPFX                 19 wstr,wstr,int,sptr
#comfunc global ICertSrvSetup_SetCADistinguishedName      20 wstr,int,int,int
#comfunc global ICertSrvSetup_SetDatabaseInformation      21 wstr,wstr,wstr,int
#comfunc global ICertSrvSetup_SetParentCAInformation      22 wstr
#comfunc global ICertSrvSetup_SetWebCAInformation         23 wstr
#comfunc global ICertSrvSetup_Install                     24
#comfunc global ICertSrvSetup_PreUnInstall                25 int
#comfunc global ICertSrvSetup_PostUnInstall               26
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。