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

IX509EndorsementKey

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDb11cd855-f4c4-4fc6-b710-4422237f09e9継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 11

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

vtbl 7 HRESULT get_ProviderName(LPWSTR* pValue)
pValueLPWSTR*out使用するプロバイダー名を受け取る文字列ポインタである。
vtbl 8 HRESULT put_ProviderName(LPWSTR Value)
ValueLPWSTRin設定するプロバイダー名を指定する。
vtbl 9 HRESULT get_Length(INT* pValue)
pValueINT*out保証鍵 (EK) の鍵長 (ビット数) を受け取る INT へのポインタである。
vtbl 10 HRESULT get_Opened(VARIANT_BOOL* pValue)
pValueVARIANT_BOOL*out鍵が開かれているかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 11 HRESULT AddCertificate(EncodingType Encoding, LPWSTR strCertificate)
EncodingEncodingTypein入力データのエンコード形式を指定する EncodingType である。
strCertificateLPWSTRin追加する保証鍵証明書 (エンコード済み) を指定する。
vtbl 12 HRESULT RemoveCertificate(EncodingType Encoding, LPWSTR strCertificate)
EncodingEncodingTypein入力データのエンコード形式を指定する EncodingType である。
strCertificateLPWSTRin削除する保証鍵証明書 (エンコード済み) を指定する。
vtbl 13 HRESULT GetCertificateByIndex(VARIANT_BOOL ManufacturerOnly, INT dwIndex, EncodingType Encoding, LPWSTR* pValue)
ManufacturerOnlyVARIANT_BOOLin製造元発行の証明書のみを対象とする場合は TRUE を指定する VARIANT_BOOL である。
dwIndexINTin取得する証明書の 0 起点のインデックスを指定する。
EncodingEncodingTypein出力データのエンコード形式を指定する EncodingType である。
pValueLPWSTR*out指定したインデックスの証明書 (エンコード済み) を受け取る文字列ポインタである。
vtbl 14 HRESULT GetCertificateCount(VARIANT_BOOL ManufacturerOnly, INT* pCount)
ManufacturerOnlyVARIANT_BOOLin製造元発行の証明書のみを対象とする場合は TRUE を指定する VARIANT_BOOL である。
pCountINT*out対象となる証明書の数を受け取る INT へのポインタである。
vtbl 15 HRESULT ExportPublicKey(IX509PublicKey** ppPublicKey)
ppPublicKeyIX509PublicKey**out保証鍵の公開鍵を表す IX509PublicKey オブジェクトを受け取るインターフェイスポインタへのポインタである。
vtbl 16 HRESULT Open()
vtbl 17 HRESULT Close()

HSP用 COM定義

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

出力引数:
#define global IID_IX509EndorsementKey "{B11CD855-F4C4-4FC6-B710-4422237F09E9}"
#usecom global IX509EndorsementKey IID_IX509EndorsementKey "{}"
#comfunc global IX509EndorsementKey_get_ProviderName       7 var
#comfunc global IX509EndorsementKey_put_ProviderName       8 wstr
#comfunc global IX509EndorsementKey_get_Length             9 var
#comfunc global IX509EndorsementKey_get_Opened             10 var
#comfunc global IX509EndorsementKey_AddCertificate         11 int,wstr
#comfunc global IX509EndorsementKey_RemoveCertificate      12 int,wstr
#comfunc global IX509EndorsementKey_GetCertificateByIndex  13 int,int,int,var
#comfunc global IX509EndorsementKey_GetCertificateCount    14 int,var
#comfunc global IX509EndorsementKey_ExportPublicKey        15 sptr
#comfunc global IX509EndorsementKey_Open                   16
#comfunc global IX509EndorsementKey_Close                  17
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。