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

ICertEncodeCRLDistInfo

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

公式ドキュメント

証明書拡張で使用される証明書失効リスト (CRL) 配布情報配列を処理するためのメソッドを提供します。

メソッド 9

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

vtbl 7 HRESULT Decode(LPWSTR strBinary)

Abstract Syntax Notation One (ASN.1) でエンコードされた証明書失効リスト (CRL) 配布情報拡張をデコードし、結果の配列を COM オブジェクトに格納します。

strBinaryLPWSTRinASN.1 でエンコードされた CRL 配布情報拡張。

戻り値

VB

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

解説(Remarks)

このメソッドは、strBinary のデコードされた内容をオブジェクトの CRL 配布情報ポイントの配列に格納します。オブジェクトの配列に既にデータが含まれている場合、その既存の内容は解放され、配列にはデコードされた値が読み込まれます。

Decode メソッドを使用する例については、ICertEncodeCRLDistInfo::Encode メソッドを参照してください。

vtbl 8 HRESULT GetDistPointCount(INT* pDistPointCount)

CRL 配布情報配列内の証明書失効リスト (CRL) 配布ポイントの数を返します。

pDistPointCountINT*out配列内の CRL 配布ポイントの数を表す LONG へのポインター。

戻り値

C++

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

VB

戻り値は、配列内の CRL 配布ポイントの数です。
vtbl 9 HRESULT GetNameCount(INT DistPointIndex, INT* pNameCount)

証明書失効リスト (CRL) 配布ポイント内の名前の数を返します。

DistPointIndexINTin名前の数を取得する配布ポイントのインデックスを指定します。
pNameCountINT*outCRL 配布ポイントに含まれる名前値の数を表す Long へのポインター。

戻り値

C++

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

VB

戻り値は、CRL 配布ポイント内の名前の数です。
vtbl 10 HRESULT GetNameChoice(INT DistPointIndex, INT NameIndex, INT* pNameChoice)

証明書失効リスト (CRL) 配布情報ポイントの指定されたインデックスにある名前選択 (name choice) を返します。

DistPointIndexINTin名前選択を取得する配布ポイントのインデックスを指定します。最初の値はインデックス 0 にあります。
NameIndexINTin取得する名前選択エントリのインデックスを指定します。最初の値はインデックス 0 にあります。
pNameChoiceINT*out名前選択を表す Long へのポインター。

戻り値

C++

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

VB

戻り値は、指定されたインデックスにある名前選択です。名前選択は名前の型を示し、正しく使用できるようにします。名前選択は次のいずれかの値でなければなりません。
戻りコード 説明
CERT_ALT_NAME_RFC822_NAME
名前はメールアドレスです。
CERT_ALT_NAME_DNS_NAME
名前は、Host.Entity.Domain の形式の DNS (Domain Name System) 名を含む IA5 文字列です。
CERT_ALT_NAME_URL
名前は、Service://HostName/Path の形式の URL を含む IA5 文字列です。
CERT_ALT_NAME_REGISTERED_ID
名前は登録された オブジェクト識別子 (OID) です。
vtbl 11 HRESULT GetName(INT DistPointIndex, INT NameIndex, LPWSTR* pstrName)

証明書失効リスト (CRL) 配布情報ポイントの指定されたインデックスにある名前を返します。

DistPointIndexINTin名前を取得する配布ポイントのインデックスを指定します。最初の値はインデックス 0 にあります。
NameIndexINTin取得する名前エントリのインデックスを指定します。最初の値はインデックス 0 にあります。
pstrNameLPWSTR*out名前値を表す BSTR へのポインター。BSTR の使用が終わったら、SysFreeString 関数を呼び出して解放してください。

戻り値

C++

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

VB

戻り値は、指定された配布ポイントの指定されたインデックスにある名前です。戻り値は Unicode 文字列です。
vtbl 12 HRESULT Reset(INT DistPointCount)

証明書失効リスト (CRL) 配布情報配列を、指定された数の配布ポイント構造体にリセットします。

DistPointCountINTinCRL 配布情報配列内の CRL 配布ポイントの数を指定します。

戻り値

VB

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

vtbl 13 HRESULT SetNameCount(INT DistPointIndex, INT NameCount)

証明書失効リスト (CRL) 配布情報配列内の指定された配布ポイントの名前数を設定します。

DistPointIndexINTin名前数を設定する配布ポイントのインデックスを指定します。
NameCountINTin名前数を指定します。

戻り値

VB

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

vtbl 14 HRESULT SetNameEntry(INT DistPointIndex, INT NameIndex, CERT_ALT_NAME NameChoice, LPWSTR strName)

証明書失効リスト (CRL) 配布情報配列内の配布ポイントの指定されたインデックスに名前を設定します。

DistPointIndexINTin名前を設定する CRL 配布ポイントのインデックスを指定します。最初の値はインデックス 0 にあります。
NameIndexINTin設定する名前エントリのインデックスを指定します。最初の値はインデックス 0 にあります。
NameChoiceCERT_ALT_NAMEin

設定する名前の名前選択を指定します。名前選択は名前の型を示し、正しく使用できるようにします。名前選択は次のいずれかの値でなければなりません。

意味
CERT_ALT_NAME_RFC822_NAME
名前はメールアドレスです。
CERT_ALT_NAME_DNS_NAME
名前は、host.entity.domain の形式の DNS (Domain Name System) 名を指定する IA5 文字列です。
CERT_ALT_NAME_URL
名前は、Service://HostName/Path の形式の URL を指定する IA5 文字列です。
CERT_ALT_NAME_REGISTERED_ID
名前は登録された オブジェクト識別子 (OID) です。
strNameLPWSTRin名前を指定します。

戻り値

VB

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

vtbl 15 HRESULT Encode(LPWSTR* pstrBinary)

COM オブジェクトに格納された証明書失効リスト (CRL) 配布情報配列に対して Abstract Syntax Notation One (ASN.1) エンコードを実行し、ASN.1 でエンコードされた拡張を返します。

pstrBinaryLPWSTR*outエンコードされた CRL 配布情報拡張を格納する BSTR へのポインター。BSTR の使用が終わったら、SysFreeString 関数を呼び出して解放してください。

戻り値

C++

メソッドが成功した場合、S_OK を返します。

メソッドが失敗した場合、エラーを示す HRESULT 値を返します。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

VB

戻り値は、CRL 配布情報配列を表す ASN.1 でエンコードされた文字列です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_ICertEncodeCRLDistInfo "{01958640-BBFF-11D0-8825-00A0C903B83C}"
#usecom global ICertEncodeCRLDistInfo IID_ICertEncodeCRLDistInfo "{}"
#comfunc global ICertEncodeCRLDistInfo_Decode             7 wstr
#comfunc global ICertEncodeCRLDistInfo_GetDistPointCount  8 var
#comfunc global ICertEncodeCRLDistInfo_GetNameCount       9 int,var
#comfunc global ICertEncodeCRLDistInfo_GetNameChoice      10 int,int,var
#comfunc global ICertEncodeCRLDistInfo_GetName            11 int,int,var
#comfunc global ICertEncodeCRLDistInfo_Reset              12 int
#comfunc global ICertEncodeCRLDistInfo_SetNameCount       13 int,int
#comfunc global ICertEncodeCRLDistInfo_SetNameEntry       14 int,int,int,wstr
#comfunc global ICertEncodeCRLDistInfo_Encode             15 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。