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

IEnroll2

COM
IIDc080e199-b7df-11d2-a421-00c04f79fe8e継承元IEnroll自前メソッド開始 vtbl73

メソッド 18

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 73 HRESULT InstallPKCS7Blob(CRYPT_INTEGER_BLOB* pBlobPKCS7)
pBlobPKCS7CRYPT_INTEGER_BLOB*inoutインストールする PKCS #7 証明書応答のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。
vtbl 74 HRESULT Reset()
vtbl 75 HRESULT GetSupportedKeySpec(INT* pdwKeySpec)
pdwKeySpecINT*inoutプロバイダーがサポートするキー仕様を受け取る INT へのポインタである。
vtbl 76 HRESULT GetKeyLen(BOOL fMin, BOOL fExchange, INT* pdwKeySize)
fMinBOOLin最小キー長を取得する場合は TRUE、最大キー長を取得する場合は FALSE を指定する。
fExchangeBOOLin鍵交換キーの長さを取得する場合は TRUE、署名キーの長さを取得する場合は FALSE を指定する。
pdwKeySizeINT*inout取得したキー長(ビット数)を受け取る INT へのポインタである。
vtbl 77 HRESULT EnumAlgs(INT dwIndex, INT algClass, INT* pdwAlgID)
dwIndexINTin列挙するアルゴリズムの 0 始まりのインデックスを指定する。
algClassINTin列挙対象とするアルゴリズムのクラスを指定する。
pdwAlgIDINT*inout指定インデックスのアルゴリズム ID を受け取る INT へのポインタである。
vtbl 78 HRESULT GetAlgNameWStr(INT algID, LPWSTR* ppwsz)
algIDINTin名前を取得するアルゴリズムの ID を指定する。
ppwszLPWSTR*inout指定アルゴリズム ID に対応する名前を受け取る LPWSTR へのポインタである。
vtbl 79 HRESULT put_ReuseHardwareKeyIfUnableToGenNew(BOOL fReuseHardwareKeyIfUnableToGenNew)
fReuseHardwareKeyIfUnableToGenNewBOOLin新規キーを生成できない場合に既存のハードウェアキーを再利用するかどうかを指定する BOOL 値を渡す。
vtbl 80 HRESULT get_ReuseHardwareKeyIfUnableToGenNew(BOOL* fReuseHardwareKeyIfUnableToGenNew)
fReuseHardwareKeyIfUnableToGenNewBOOL*inout新規キーを生成できない場合に既存のハードウェアキーを再利用するかどうかを受け取る BOOL へのポインタである。
vtbl 81 HRESULT put_HashAlgID(INT hashAlgID)
hashAlgIDINTin使用するハッシュアルゴリズムの ID を渡す。
vtbl 82 HRESULT get_HashAlgID(INT* hashAlgID)
hashAlgIDINT*inout現在のハッシュアルゴリズム ID を受け取る INT へのポインタである。
vtbl 83 HRESULT SetHStoreMy(HCERTSTORE hStore)
hStoreHCERTSTOREin個人(MY)証明書ストアとして使用する証明書ストアハンドル(HCERTSTORE)を渡す。
vtbl 84 HRESULT SetHStoreCA(HCERTSTORE hStore)
hStoreHCERTSTOREin中間 CA 証明書ストアとして使用する証明書ストアハンドル(HCERTSTORE)を渡す。
vtbl 85 HRESULT SetHStoreROOT(HCERTSTORE hStore)
hStoreHCERTSTOREinルート証明書ストアとして使用する証明書ストアハンドル(HCERTSTORE)を渡す。
vtbl 86 HRESULT SetHStoreRequest(HCERTSTORE hStore)
hStoreHCERTSTOREin要求(REQUEST)証明書ストアとして使用する証明書ストアハンドル(HCERTSTORE)を渡す。
vtbl 87 HRESULT put_LimitExchangeKeyToEncipherment(BOOL fLimitExchangeKeyToEncipherment)
fLimitExchangeKeyToEnciphermentBOOLin鍵交換キーの用途を暗号化のみに制限するかどうかを指定する BOOL 値を渡す。
vtbl 88 HRESULT get_LimitExchangeKeyToEncipherment(BOOL* fLimitExchangeKeyToEncipherment)
fLimitExchangeKeyToEnciphermentBOOL*inout鍵交換キーの用途を暗号化のみに制限するかどうかを受け取る BOOL へのポインタである。
vtbl 89 HRESULT put_EnableSMIMECapabilities(BOOL fEnableSMIMECapabilities)
fEnableSMIMECapabilitiesBOOLinS/MIME 機能属性を要求に含めるかどうかを指定する BOOL 値を渡す。
vtbl 90 HRESULT get_EnableSMIMECapabilities(BOOL* fEnableSMIMECapabilities)
fEnableSMIMECapabilitiesBOOL*inoutS/MIME 機能属性を要求に含めるかどうかを受け取る BOOL へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IEnroll2 "{C080E199-B7DF-11D2-A421-00C04F79FE8E}"
#usecom global IEnroll2 IID_IEnroll2 "{}"
#comfunc global IEnroll2_InstallPKCS7Blob                      73 var
#comfunc global IEnroll2_Reset                                 74
#comfunc global IEnroll2_GetSupportedKeySpec                   75 var
#comfunc global IEnroll2_GetKeyLen                             76 int,int,var
#comfunc global IEnroll2_EnumAlgs                              77 int,int,var
#comfunc global IEnroll2_GetAlgNameWStr                        78 int,var
#comfunc global IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew  79 int
#comfunc global IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew  80 var
#comfunc global IEnroll2_put_HashAlgID                         81 int
#comfunc global IEnroll2_get_HashAlgID                         82 var
#comfunc global IEnroll2_SetHStoreMy                           83 sptr
#comfunc global IEnroll2_SetHStoreCA                           84 sptr
#comfunc global IEnroll2_SetHStoreROOT                         85 sptr
#comfunc global IEnroll2_SetHStoreRequest                      86 sptr
#comfunc global IEnroll2_put_LimitExchangeKeyToEncipherment    87 int
#comfunc global IEnroll2_get_LimitExchangeKeyToEncipherment    88 var
#comfunc global IEnroll2_put_EnableSMIMECapabilities           89 int
#comfunc global IEnroll2_get_EnableSMIMECapabilities           90 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。