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

ICertRequestD2

COM
IID5422fd3a-d4b8-4cef-a12e-e87d4ca22e90継承元ICertRequestD自前メソッド開始 vtbl6

メソッド 4

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

vtbl 6 HRESULT Request2(LPWSTR pwszAuthority, DWORD dwFlags, LPWSTR pwszSerialNumber, DWORD* pdwRequestId, DWORD* pdwDisposition, LPWSTR pwszAttributes, CERTTRANSBLOB* pctbRequest, CERTTRANSBLOB* pctbFullResponse, CERTTRANSBLOB* pctbEncodedCert, CERTTRANSBLOB* pctbDispositionMessage)
pwszAuthorityLPWSTRinoptional要求を送信する証明機関(CA)の名前を渡す。
dwFlagsDWORDin要求の処理方法を制御するフラグを指定する。
pwszSerialNumberLPWSTRinoptional対象とする証明書のシリアル番号を渡す。
pdwRequestIdDWORD*inoutCA が割り当てた要求 ID を受け取る DWORD へのポインタである。
pdwDispositionDWORD*out要求の処理結果(発行済み、保留など)を受け取る DWORD へのポインタである。
pwszAttributesLPWSTRinoptional要求に付随する属性を表す文字列を渡す。
pctbRequestCERTTRANSBLOB*in送信する証明書要求のデータを保持する CERTTRANSBLOB へのポインタである。
pctbFullResponseCERTTRANSBLOB*outCA からの完全な応答(CMC など)を受け取る CERTTRANSBLOB へのポインタである。
pctbEncodedCertCERTTRANSBLOB*out発行された証明書のエンコード済みデータを受け取る CERTTRANSBLOB へのポインタである。
pctbDispositionMessageCERTTRANSBLOB*out処理結果を説明するメッセージ文字列を受け取る CERTTRANSBLOB へのポインタである。
vtbl 7 HRESULT GetCAProperty(LPWSTR pwszAuthority, INT PropId, INT PropIndex, INT PropType, CERTTRANSBLOB* pctbPropertyValue)
pwszAuthorityLPWSTRinoptionalプロパティを取得する証明機関(CA)の名前を渡す。
PropIdINTin取得する CA プロパティの ID を指定する。
PropIndexINTinプロパティが配列の場合の取得対象インデックスを指定する。
PropTypeINTin取得するプロパティのデータ型を指定する。
pctbPropertyValueCERTTRANSBLOB*out取得した CA プロパティの値を受け取る CERTTRANSBLOB へのポインタである。
vtbl 8 HRESULT GetCAPropertyInfo(LPWSTR pwszAuthority, INT* pcProperty, CERTTRANSBLOB* pctbPropInfo)
pwszAuthorityLPWSTRinoptionalプロパティ情報を取得する証明機関(CA)の名前を渡す。
pcPropertyINT*out利用可能な CA プロパティの個数を受け取る INT へのポインタである。
pctbPropInfoCERTTRANSBLOB*out各 CA プロパティの情報(ID、型、フラグなど)の配列を受け取る CERTTRANSBLOB へのポインタである。
vtbl 9 HRESULT Ping2(LPWSTR pwszAuthority)
pwszAuthorityLPWSTRinoptional応答を確認する証明機関(CA)の名前を渡す。

HSP用 COM定義

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

出力引数:
#define global IID_ICertRequestD2 "{5422FD3A-D4B8-4CEF-A12E-E87D4CA22E90}"
#usecom global ICertRequestD2 IID_ICertRequestD2 "{}"
#comfunc global ICertRequestD2_Request2           6 wstr,int,wstr,var,var,wstr,var,var,var,var
#comfunc global ICertRequestD2_GetCAProperty      7 wstr,int,int,int,var
#comfunc global ICertRequestD2_GetCAPropertyInfo  8 wstr,var,var
#comfunc global ICertRequestD2_Ping2              9 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。