ICertPropertyEnrollmentPolicyServer
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
証明書登録ポリシー (CEP) サーバーと証明書登録サーバー (CES) に関する情報を格納する外部の証明書プロパティを表します。
メソッド 9
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
ICertPropertyEnrollmentPolicyServer オブジェクトを初期化します。
| PropertyFlags | EnrollmentPolicyServerPropertyFlags | in | 既定の証明書登録ポリシー (CEP) サーバーを指定する EnrollmentPolicyServerPropertyFlags 列挙値です。次のいずれかの値を指定できます。
| ||||||
| AuthFlags | X509EnrollmentAuthFlags | in | クライアントが CEP サーバーに対して自身を認証する際に使用する認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。次のいずれかの値を指定できます。 | ||||||
| EnrollmentServerAuthFlags | X509EnrollmentAuthFlags | in | クライアントが CES に対して自身を認証する際に使用する認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。列挙型に指定できる値については、AuthFlags パラメーターを参照してください。Windows 7 では、X509AuthCertificate のみを指定できます。 | ||||||
| UrlFlags | PolicyServerUrlFlags | in | ポリシーサーバーのフラグを指定する PolicyServerUrlFlags 列挙値です。次の値のビットごとの OR を指定できます。 | ||||||
| strRequestId | LPWSTR | in | 登録時に証明機関 (CA) へ送信される証明書要求の一意の文字列識別子を格納する BSTR 変数です。この文字列には、要求を一意に識別する任意の情報を含めることができます。 | ||||||
| strUrl | LPWSTR | in | 証明書登録ポリシー (CEP) サーバーの URL を格納する BSTR 変数です。 | ||||||
| strId | LPWSTR | in | CEP サーバーの ID を格納する BSTR 変数です。 | ||||||
| strEnrollmentServerUrl | LPWSTR | in | 証明書登録サーバーの URL を格納する BSTR 変数です。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード | 説明 |
|---|---|
| 文字列値に使用できるメモリが不足していました。 |
証明書登録ポリシー (CEP) サーバーの URL を格納する文字列を取得します。
| pValue | LPWSTR* | out | URL を受け取る BSTR へのポインター。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| プロパティ値が空です。 | |
| URL 文字列を作成するのに使用できるメモリが不足していました。 | |
|
プロパティ値が初期化されていません。 |
証明書登録ポリシー (CEP) サーバーを一意に識別する文字列を取得します。
| pValue | LPWSTR* | out | ID 文字列を受け取る BSTR へのポインター。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| プロパティ値が空です。 | |
| URL 文字列を作成するのに使用できるメモリが不足していました。 | |
|
プロパティ値が初期化されていません。 |
解説(Remarks)
ID には任意の文字列を指定できます。これは CEP サーバーをインストールする管理者が設定します。
証明書登録サーバーの URL を格納する文字列を取得します。
| pValue | LPWSTR* | out | URL を受け取る BSTR へのポインター。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| プロパティ値が空です。 | |
| URL 文字列を作成するのに使用できるメモリが不足していました。 | |
|
プロパティ値が初期化されていません。 |
登録時に証明機関 (CA) へ送信された証明書要求の一意の文字列識別子を取得します。
| pValue | LPWSTR* | out | ID 文字列を受け取る BSTR へのポインター。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| プロパティ値が空です。 | |
| URL 文字列を作成するのに使用できるメモリが不足していました。 | |
|
プロパティ値が初期化されていません。 |
解説(Remarks)
この文字列には、証明書要求を一意に識別する任意の情報を含めることができます。この値は Initialize メソッドを呼び出したときに設定されます。
既定のポリシーサーバー URL を指定する値を取得します。
| pValue | EnrollmentPolicyServerPropertyFlags* | out | フラグを格納する EnrollmentPolicyServerPropertyFlags 列挙値へのポインター。次のいずれかの値を指定できます。
|
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| pValue パラメーターに NULL を指定することはできません。 |
証明書登録ポリシー (CEP) サーバーに関するさまざまなポリシー情報を含むフラグのセットを取得します。
| pValue | PolicyServerUrlFlags* | out | ポリシーサーバーのフラグを指定する PolicyServerUrlFlags 列挙値へのポインター。次の値のビットごとの OR を指定できます。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| pValue パラメーターに NULL を指定することはできません。 |
GetAuthentication メソッドは、証明書登録ポリシー (CEP) サーバーがクライアントを認証する際に使用する認証の種類を指定する値を取得します。この値は Initialize メソッドによって設定されます。
| pValue | X509EnrollmentAuthFlags* | out | クライアントの認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。次のいずれかの値を指定できます。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| pValue パラメーターに NULL を指定することはできません。 |
GetEnrollmentServerAuthentication メソッドは、証明書登録サーバー (CES) がクライアントを認証する際に使用する認証の種類を指定する値を取得します。この値は Initialize メソッドによって設定されます。
| pValue | X509EnrollmentAuthFlags* | out | クライアントの認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。次のいずれかの値を指定できます。 |
戻り値
関数が成功すると、S_OK を返します。
関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。
| リターンコード/値 | 説明 |
|---|---|
| pValue パラメーターに NULL を指定することはできません。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ICertPropertyEnrollmentPolicyServer "{728AB34A-217D-11DA-B2A4-000E7BBB2B09}" #usecom global ICertPropertyEnrollmentPolicyServer IID_ICertPropertyEnrollmentPolicyServer "{}" #comfunc global ICertPropertyEnrollmentPolicyServer_Initialize 14 int,int,int,int,wstr,wstr,wstr,wstr #comfunc global ICertPropertyEnrollmentPolicyServer_GetPolicyServerUrl 15 var #comfunc global ICertPropertyEnrollmentPolicyServer_GetPolicyServerId 16 var #comfunc global ICertPropertyEnrollmentPolicyServer_GetEnrollmentServerUrl 17 var #comfunc global ICertPropertyEnrollmentPolicyServer_GetRequestIdString 18 var #comfunc global ICertPropertyEnrollmentPolicyServer_GetPropertyFlags 19 var #comfunc global ICertPropertyEnrollmentPolicyServer_GetUrlFlags 20 var #comfunc global ICertPropertyEnrollmentPolicyServer_GetAuthentication 21 var #comfunc global ICertPropertyEnrollmentPolicyServer_GetEnrollmentServerAuthentication 22 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ICertPropertyEnrollmentPolicyServer "{728AB34A-217D-11DA-B2A4-000E7BBB2B09}" #usecom global ICertPropertyEnrollmentPolicyServer IID_ICertPropertyEnrollmentPolicyServer "{}" #comfunc global ICertPropertyEnrollmentPolicyServer_Initialize 14 int,int,int,int,wstr,wstr,wstr,wstr #comfunc global ICertPropertyEnrollmentPolicyServer_GetPolicyServerUrl 15 sptr #comfunc global ICertPropertyEnrollmentPolicyServer_GetPolicyServerId 16 sptr #comfunc global ICertPropertyEnrollmentPolicyServer_GetEnrollmentServerUrl 17 sptr #comfunc global ICertPropertyEnrollmentPolicyServer_GetRequestIdString 18 sptr #comfunc global ICertPropertyEnrollmentPolicyServer_GetPropertyFlags 19 sptr #comfunc global ICertPropertyEnrollmentPolicyServer_GetUrlFlags 20 sptr #comfunc global ICertPropertyEnrollmentPolicyServer_GetAuthentication 21 sptr #comfunc global ICertPropertyEnrollmentPolicyServer_GetEnrollmentServerAuthentication 22 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。