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

ICEnroll

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

メソッド 56

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

vtbl 7 HRESULT createFilePKCS10(LPWSTR DNName, LPWSTR Usage, LPWSTR wszPKCS10FileName)
DNNameLPWSTRin証明書サブジェクトの識別名(Distinguished Name)を渡す。
UsageLPWSTRin要求するキー使用法を表す OID を渡す。
wszPKCS10FileNameLPWSTRin生成した PKCS #10 要求を書き込む出力ファイルのパスを渡す。
vtbl 8 HRESULT acceptFilePKCS7(LPWSTR wszPKCS7FileName)
wszPKCS7FileNameLPWSTRin受け入れる PKCS #7 応答を格納したファイルのパスを渡す。
vtbl 9 HRESULT createPKCS10(LPWSTR DNName, LPWSTR Usage, LPWSTR* pPKCS10)
DNNameLPWSTRin証明書サブジェクトの識別名(Distinguished Name)を渡す。
UsageLPWSTRin要求するキー使用法を表す OID を渡す。
pPKCS10LPWSTR*out生成された PKCS #10 要求を Base64 文字列として受け取る LPWSTR へのポインタである。
vtbl 10 HRESULT acceptPKCS7(LPWSTR PKCS7)
PKCS7LPWSTRin受け入れる PKCS #7 応答を Base64 文字列として渡す。
vtbl 11 HRESULT getCertFromPKCS7(LPWSTR wszPKCS7, LPWSTR* pbstrCert)
wszPKCS7LPWSTRin証明書を抽出する元の PKCS #7 メッセージを Base64 文字列として渡す。
pbstrCertLPWSTR*out抽出された証明書を Base64 文字列として受け取る LPWSTR へのポインタである。
vtbl 12 HRESULT enumProviders(INT dwIndex, INT dwFlags, LPWSTR* pbstrProvName)
dwIndexINTin列挙する暗号化サービスプロバイダー(CSP)の 0 始まりのインデックスを指定する。
dwFlagsINTin列挙の動作を制御するフラグを指定する。通常は 0 を指定する。
pbstrProvNameLPWSTR*out指定インデックスのプロバイダー名を受け取る LPWSTR へのポインタである。
vtbl 13 HRESULT enumContainers(INT dwIndex, LPWSTR* pbstr)
dwIndexINTin列挙するキーコンテナの 0 始まりのインデックスを指定する。
pbstrLPWSTR*out指定インデックスのキーコンテナ名を受け取る LPWSTR へのポインタである。
vtbl 14 HRESULT freeRequestInfo(LPWSTR PKCS7OrPKCS10)
PKCS7OrPKCS10LPWSTRin解放対象となる PKCS #7 または PKCS #10 のデータを文字列として渡す。
vtbl 15 HRESULT get_MyStoreName(LPWSTR* pbstrName)
pbstrNameLPWSTR*out個人(MY)証明書ストアの名前を受け取る LPWSTR へのポインタである。
vtbl 16 HRESULT put_MyStoreName(LPWSTR bstrName)
bstrNameLPWSTRin個人(MY)証明書ストアの名前を渡す。
vtbl 17 HRESULT get_MyStoreType(LPWSTR* pbstrType)
pbstrTypeLPWSTR*out個人(MY)証明書ストアの種類を受け取る LPWSTR へのポインタである。
vtbl 18 HRESULT put_MyStoreType(LPWSTR bstrType)
bstrTypeLPWSTRin個人(MY)証明書ストアの種類を渡す。
vtbl 19 HRESULT get_MyStoreFlags(INT* pdwFlags)
pdwFlagsINT*out個人(MY)証明書ストアを開く際のフラグを受け取る INT へのポインタである。
vtbl 20 HRESULT put_MyStoreFlags(INT dwFlags)
dwFlagsINTin個人(MY)証明書ストアを開く際のフラグを渡す。
vtbl 21 HRESULT get_CAStoreName(LPWSTR* pbstrName)
pbstrNameLPWSTR*out中間 CA 証明書ストアの名前を受け取る LPWSTR へのポインタである。
vtbl 22 HRESULT put_CAStoreName(LPWSTR bstrName)
bstrNameLPWSTRin中間 CA 証明書ストアの名前を渡す。
vtbl 23 HRESULT get_CAStoreType(LPWSTR* pbstrType)
pbstrTypeLPWSTR*out中間 CA 証明書ストアの種類を受け取る LPWSTR へのポインタである。
vtbl 24 HRESULT put_CAStoreType(LPWSTR bstrType)
bstrTypeLPWSTRin中間 CA 証明書ストアの種類を渡す。
vtbl 25 HRESULT get_CAStoreFlags(INT* pdwFlags)
pdwFlagsINT*out中間 CA 証明書ストアを開く際のフラグを受け取る INT へのポインタである。
vtbl 26 HRESULT put_CAStoreFlags(INT dwFlags)
dwFlagsINTin中間 CA 証明書ストアを開く際のフラグを渡す。
vtbl 27 HRESULT get_RootStoreName(LPWSTR* pbstrName)
pbstrNameLPWSTR*outルート証明書ストアの名前を受け取る LPWSTR へのポインタである。
vtbl 28 HRESULT put_RootStoreName(LPWSTR bstrName)
bstrNameLPWSTRinルート証明書ストアの名前を渡す。
vtbl 29 HRESULT get_RootStoreType(LPWSTR* pbstrType)
pbstrTypeLPWSTR*outルート証明書ストアの種類を受け取る LPWSTR へのポインタである。
vtbl 30 HRESULT put_RootStoreType(LPWSTR bstrType)
bstrTypeLPWSTRinルート証明書ストアの種類を渡す。
vtbl 31 HRESULT get_RootStoreFlags(INT* pdwFlags)
pdwFlagsINT*outルート証明書ストアを開く際のフラグを受け取る INT へのポインタである。
vtbl 32 HRESULT put_RootStoreFlags(INT dwFlags)
dwFlagsINTinルート証明書ストアを開く際のフラグを渡す。
vtbl 33 HRESULT get_RequestStoreName(LPWSTR* pbstrName)
pbstrNameLPWSTR*out要求(REQUEST)証明書ストアの名前を受け取る LPWSTR へのポインタである。
vtbl 34 HRESULT put_RequestStoreName(LPWSTR bstrName)
bstrNameLPWSTRin要求(REQUEST)証明書ストアの名前を渡す。
vtbl 35 HRESULT get_RequestStoreType(LPWSTR* pbstrType)
pbstrTypeLPWSTR*out要求(REQUEST)証明書ストアの種類を受け取る LPWSTR へのポインタである。
vtbl 36 HRESULT put_RequestStoreType(LPWSTR bstrType)
bstrTypeLPWSTRin要求(REQUEST)証明書ストアの種類を渡す。
vtbl 37 HRESULT get_RequestStoreFlags(INT* pdwFlags)
pdwFlagsINT*out要求(REQUEST)証明書ストアを開く際のフラグを受け取る INT へのポインタである。
vtbl 38 HRESULT put_RequestStoreFlags(INT dwFlags)
dwFlagsINTin要求(REQUEST)証明書ストアを開く際のフラグを渡す。
vtbl 39 HRESULT get_ContainerName(LPWSTR* pbstrContainer)
pbstrContainerLPWSTR*out現在のキーコンテナ名を受け取る LPWSTR へのポインタである。
vtbl 40 HRESULT put_ContainerName(LPWSTR bstrContainer)
bstrContainerLPWSTRin使用するキーコンテナ名を渡す。
vtbl 41 HRESULT get_ProviderName(LPWSTR* pbstrProvider)
pbstrProviderLPWSTR*out現在の暗号化サービスプロバイダー(CSP)名を受け取る LPWSTR へのポインタである。
vtbl 42 HRESULT put_ProviderName(LPWSTR bstrProvider)
bstrProviderLPWSTRin使用する暗号化サービスプロバイダー(CSP)名を渡す。
vtbl 43 HRESULT get_ProviderType(INT* pdwType)
pdwTypeINT*out現在のプロバイダーの種類(PROV_RSA_FULL など)を受け取る INT へのポインタである。
vtbl 44 HRESULT put_ProviderType(INT dwType)
dwTypeINTin使用するプロバイダーの種類(PROV_RSA_FULL など)を渡す。
vtbl 45 HRESULT get_KeySpec(INT* pdw)
pdwINT*out現在のキー仕様(AT_KEYEXCHANGE または AT_SIGNATURE)を受け取る INT へのポインタである。
vtbl 46 HRESULT put_KeySpec(INT dw)
dwINTin使用するキー仕様(AT_KEYEXCHANGE または AT_SIGNATURE)を渡す。
vtbl 47 HRESULT get_ProviderFlags(INT* pdwFlags)
pdwFlagsINT*outプロバイダーのコンテキスト取得時に使用するフラグを受け取る INT へのポインタである。
vtbl 48 HRESULT put_ProviderFlags(INT dwFlags)
dwFlagsINTinプロバイダーのコンテキスト取得時に使用するフラグを渡す。
vtbl 49 HRESULT get_UseExistingKeySet(BOOL* fUseExistingKeys)
fUseExistingKeysBOOL*out既存のキーセットを使用するかどうかを受け取る BOOL へのポインタである。
vtbl 50 HRESULT put_UseExistingKeySet(BOOL fUseExistingKeys)
fUseExistingKeysBOOLin既存のキーセットを使用するかどうかを指定する BOOL 値を渡す。
vtbl 51 HRESULT get_GenKeyFlags(INT* pdwFlags)
pdwFlagsINT*outキー生成時に使用するフラグ(エクスポート可否など)を受け取る INT へのポインタである。
vtbl 52 HRESULT put_GenKeyFlags(INT dwFlags)
dwFlagsINTinキー生成時に使用するフラグ(エクスポート可否など)を渡す。
vtbl 53 HRESULT get_DeleteRequestCert(BOOL* fDelete)
fDeleteBOOL*out登録完了後に要求証明書を削除するかどうかを受け取る BOOL へのポインタである。
vtbl 54 HRESULT put_DeleteRequestCert(BOOL fDelete)
fDeleteBOOLin登録完了後に要求証明書を削除するかどうかを指定する BOOL 値を渡す。
vtbl 55 HRESULT get_WriteCertToCSP(BOOL* fBool)
fBoolBOOL*out証明書を CSP のキーコンテナに書き込むかどうかを受け取る BOOL へのポインタである。
vtbl 56 HRESULT put_WriteCertToCSP(BOOL fBool)
fBoolBOOLin証明書を CSP のキーコンテナに書き込むかどうかを指定する BOOL 値を渡す。
vtbl 57 HRESULT get_SPCFileName(LPWSTR* pbstr)
pbstrLPWSTR*outソフトウェア発行元証明書(SPC)ファイルのパスを受け取る LPWSTR へのポインタである。
vtbl 58 HRESULT put_SPCFileName(LPWSTR bstr)
bstrLPWSTRinソフトウェア発行元証明書(SPC)ファイルのパスを渡す。
vtbl 59 HRESULT get_PVKFileName(LPWSTR* pbstr)
pbstrLPWSTR*out秘密キー(PVK)ファイルのパスを受け取る LPWSTR へのポインタである。
vtbl 60 HRESULT put_PVKFileName(LPWSTR bstr)
bstrLPWSTRin秘密キー(PVK)ファイルのパスを渡す。
vtbl 61 HRESULT get_HashAlgorithm(LPWSTR* pbstr)
pbstrLPWSTR*out使用するハッシュアルゴリズム名を受け取る LPWSTR へのポインタである。
vtbl 62 HRESULT put_HashAlgorithm(LPWSTR bstr)
bstrLPWSTRin使用するハッシュアルゴリズム名を渡す。

HSP用 COM定義

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

出力引数:
#define global IID_ICEnroll "{43F8F288-7A20-11D0-8F06-00C04FC295E1}"
#usecom global ICEnroll IID_ICEnroll "{43F8F289-7A20-11D0-8F06-00C04FC295E1}"
#comfunc global ICEnroll_createFilePKCS10       7 wstr,wstr,wstr
#comfunc global ICEnroll_acceptFilePKCS7        8 wstr
#comfunc global ICEnroll_createPKCS10           9 wstr,wstr,var
#comfunc global ICEnroll_acceptPKCS7            10 wstr
#comfunc global ICEnroll_getCertFromPKCS7       11 wstr,var
#comfunc global ICEnroll_enumProviders          12 int,int,var
#comfunc global ICEnroll_enumContainers         13 int,var
#comfunc global ICEnroll_freeRequestInfo        14 wstr
#comfunc global ICEnroll_get_MyStoreName        15 var
#comfunc global ICEnroll_put_MyStoreName        16 wstr
#comfunc global ICEnroll_get_MyStoreType        17 var
#comfunc global ICEnroll_put_MyStoreType        18 wstr
#comfunc global ICEnroll_get_MyStoreFlags       19 var
#comfunc global ICEnroll_put_MyStoreFlags       20 int
#comfunc global ICEnroll_get_CAStoreName        21 var
#comfunc global ICEnroll_put_CAStoreName        22 wstr
#comfunc global ICEnroll_get_CAStoreType        23 var
#comfunc global ICEnroll_put_CAStoreType        24 wstr
#comfunc global ICEnroll_get_CAStoreFlags       25 var
#comfunc global ICEnroll_put_CAStoreFlags       26 int
#comfunc global ICEnroll_get_RootStoreName      27 var
#comfunc global ICEnroll_put_RootStoreName      28 wstr
#comfunc global ICEnroll_get_RootStoreType      29 var
#comfunc global ICEnroll_put_RootStoreType      30 wstr
#comfunc global ICEnroll_get_RootStoreFlags     31 var
#comfunc global ICEnroll_put_RootStoreFlags     32 int
#comfunc global ICEnroll_get_RequestStoreName   33 var
#comfunc global ICEnroll_put_RequestStoreName   34 wstr
#comfunc global ICEnroll_get_RequestStoreType   35 var
#comfunc global ICEnroll_put_RequestStoreType   36 wstr
#comfunc global ICEnroll_get_RequestStoreFlags  37 var
#comfunc global ICEnroll_put_RequestStoreFlags  38 int
#comfunc global ICEnroll_get_ContainerName      39 var
#comfunc global ICEnroll_put_ContainerName      40 wstr
#comfunc global ICEnroll_get_ProviderName       41 var
#comfunc global ICEnroll_put_ProviderName       42 wstr
#comfunc global ICEnroll_get_ProviderType       43 var
#comfunc global ICEnroll_put_ProviderType       44 int
#comfunc global ICEnroll_get_KeySpec            45 var
#comfunc global ICEnroll_put_KeySpec            46 int
#comfunc global ICEnroll_get_ProviderFlags      47 var
#comfunc global ICEnroll_put_ProviderFlags      48 int
#comfunc global ICEnroll_get_UseExistingKeySet  49 var
#comfunc global ICEnroll_put_UseExistingKeySet  50 int
#comfunc global ICEnroll_get_GenKeyFlags        51 var
#comfunc global ICEnroll_put_GenKeyFlags        52 int
#comfunc global ICEnroll_get_DeleteRequestCert  53 var
#comfunc global ICEnroll_put_DeleteRequestCert  54 int
#comfunc global ICEnroll_get_WriteCertToCSP     55 var
#comfunc global ICEnroll_put_WriteCertToCSP     56 int
#comfunc global ICEnroll_get_SPCFileName        57 var
#comfunc global ICEnroll_put_SPCFileName        58 wstr
#comfunc global ICEnroll_get_PVKFileName        59 var
#comfunc global ICEnroll_put_PVKFileName        60 wstr
#comfunc global ICEnroll_get_HashAlgorithm      61 var
#comfunc global ICEnroll_put_HashAlgorithm      62 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。