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

IX509PolicyServerUrl

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

公式ドキュメント

IX509PolicyServerUrl インターフェイスは、証明書登録 (エンロール) ポリシー (CEP) サーバーに関連付けられたプロパティ値の設定や取得、および関連するレジストリ値の更新を行うために使用できます。

メソッド 15

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

vtbl 7 HRESULT Initialize(X509CertificateEnrollmentContext context)

コンピューターまたはユーザーのコンテキストに対して IX509PolicyServerUrl オブジェクトを初期化します。

contextX509CertificateEnrollmentContextin

発行される証明書の対象となるエンドエンティティの性質を指定する X509CertificateEnrollmentContext 列挙値。次のいずれかの値を指定できます。

意味
ContextUser
証明書はエンドユーザーを対象としています。
ContextMachine
証明書はコンピューターを対象としています。
ContextAdministratorForceMachine
コンピューターに代わって管理者が証明書を要求しています。

戻り値

関数が成功した場合、関数は S_OK を返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。取り得る値には次の表に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

戻り値 説明
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
IX509PolicyServerUrl は既に初期化されています。
vtbl 8 HRESULT get_Url(LPWSTR* ppValue)

証明書登録ポリシー (CEP) サーバーの URL を指定または取得します。(Get)

ppValueLPWSTR*outポリシーサーバーの URL を文字列として受け取るポインタである。
vtbl 9 HRESULT put_Url(LPWSTR pValue)

証明書登録ポリシー (CEP) サーバーの URL を指定または取得します。(Put)

pValueLPWSTRinポリシーサーバーの URL を文字列で指定する。
vtbl 10 HRESULT get_Default(VARIANT_BOOL* pValue)

これが既定の証明書登録ポリシー (CEP) サーバーであるかどうかを示すブール値を指定および取得します。(Get)

pValueVARIANT_BOOL*outこのサーバーが既定のポリシーサーバーかどうかを表す VARIANT_BOOL を受け取るポインタである。
vtbl 11 HRESULT put_Default(VARIANT_BOOL value)

これが既定の証明書登録ポリシー (CEP) サーバーであるかどうかを示すブール値を指定および取得します。(Put)

valueVARIANT_BOOLinこのサーバーを既定のポリシーサーバーとするかどうかを VARIANT_BOOL で指定する。
vtbl 12 HRESULT get_Flags(PolicyServerUrlFlags* pValue)

証明書登録ポリシー (CEP) サーバーのポリシー情報を、グループポリシーから読み込むか、レジストリから読み込むか、またはその両方から読み込むかを示す値を指定または取得します。(Get)

pValuePolicyServerUrlFlags*outポリシーサーバー URL の属性を表す PolicyServerUrlFlags 値を受け取るポインタである。

解説(Remarks)

PsfLocationGroupPolicy フラグと PsfLocationRegistry フラグを組み合わせた場合、このメソッドはローカルレジストリからポリシー情報を読み取り、グループポリシーで指定されたポリシー情報と組み合わせます。

vtbl 13 HRESULT put_Flags(PolicyServerUrlFlags Flags)

証明書登録ポリシー (CEP) サーバーのポリシー情報を、グループポリシーから読み込むか、レジストリから読み込むか、またはその両方から読み込むかを示す値を指定または取得します。(Put)

FlagsPolicyServerUrlFlagsinポリシーサーバー URL の属性を指定する PolicyServerUrlFlags 列挙値である。

解説(Remarks)

PsfLocationGroupPolicy フラグと PsfLocationRegistry フラグを組み合わせた場合、このメソッドはローカルレジストリからポリシー情報を読み取り、グループポリシーで指定されたポリシー情報と組み合わせます。

vtbl 14 HRESULT get_AuthFlags(X509EnrollmentAuthFlags* pValue)

クライアントが証明書登録ポリシー (CEP) サーバーに対して自身を認証するために使用する認証の種類を示す値を指定および取得します。(Get)

pValueX509EnrollmentAuthFlags*outポリシーサーバーへの接続に使用される認証方式を表す X509EnrollmentAuthFlags 値を受け取るポインタである。
vtbl 15 HRESULT put_AuthFlags(X509EnrollmentAuthFlags Flags)

クライアントが証明書登録ポリシー (CEP) サーバーに対して自身を認証するために使用する認証の種類を示す値を指定および取得します。(Put)

FlagsX509EnrollmentAuthFlagsinポリシーサーバーへの接続に使用する認証方式を指定する X509EnrollmentAuthFlags 列挙値である。
vtbl 16 HRESULT get_Cost(DWORD* pValue)

証明書登録ポリシーサーバーへの接続に対する任意のコストを指定および取得します。(IX509PolicyServerUrl.get_Cost)

pValueDWORD*outポリシーサーバーへのアクセスコスト(優先順位)を表す DWORD を受け取るポインタである。
vtbl 17 HRESULT put_Cost(DWORD value)

証明書登録ポリシーサーバーへの接続に対する任意のコストを指定および取得します。(IX509PolicyServerUrl.put_Cost)

valueDWORDinポリシーサーバーへのアクセスコスト(優先順位)を DWORD で指定する。
vtbl 18 HRESULT GetStringProperty(PolicyServerUrlPropertyID propertyId, LPWSTR* ppValue)

証明書登録ポリシー (CEP) サーバーの ID、または CEP サーバーの表示名を取得します。

propertyIdPolicyServerUrlPropertyIDin

取得する文字列を指定する PolicyServerUrlPropertyID 値。次のいずれかの値を指定できます。

意味
PsPolicyID
ポリシーサーバーの ID 文字列を取得します。
PsFriendlyName
ポリシーサーバーの表示名を取得します。
ppValueLPWSTR*outプロパティ値を受け取る BSTR 変数へのポインター。

戻り値

関数が成功した場合、関数は S_OK を返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。取り得る値には次の表に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

戻り値 説明
CERTSRV_E_PROPERTY_EMPTY
プロパティ値が見つかりません。
E_POINTER
propertyId パラメーターを NULL にすることはできません。
E_OUTOFMEMORY
戻り値のためのメモリを割り当てられませんでした。
vtbl 19 HRESULT SetStringProperty(PolicyServerUrlPropertyID propertyId, LPWSTR pValue)

証明書登録ポリシー (CEP) サーバーの ID、または CEP サーバーの表示名を指定します。

propertyIdPolicyServerUrlPropertyIDin

設定する文字列を指定する PolicyServerUrlPropertyID 値。次のいずれかの値を指定できます。

意味
PsPolicyID
ポリシーサーバーの ID 文字列を設定します。文字列は任意の値にできますが、一意である必要があります。
PsFriendlyName
ポリシーサーバーの表示名を設定します。
pValueLPWSTRinプロパティ値を受け取る BSTR 変数。

戻り値

関数が成功した場合、関数は S_OK を返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。取り得る値には次の表に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

戻り値 説明
E_INVALIDARG
pValue パラメーターを NULL または空にすることはできません。
E_OUTOFMEMORY
プロパティ値のためのメモリを割り当てられませんでした。
vtbl 20 HRESULT UpdateRegistry(X509CertificateEnrollmentContext context)

証明書登録ポリシー (CEP) サーバーを登録します。

contextX509CertificateEnrollmentContextin

ポリシーサーバーの登録対象となるエンドエンティティの性質を指定する X509CertificateEnrollmentContext 列挙値。次のいずれかの値を指定できます。

意味
ContextUser
エンドユーザー。
ContextMachine
コンピューター。
ContextAdministratorForceMachine
コンピューターに代わって行動する管理者。

戻り値

関数が成功した場合、関数は S_OK を返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。取り得る値には次の表に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

戻り値 説明
E_INVALIDARG
ポリシーサーバーの URL が空です。
HRESULT_FROM_WIN32(ERROR_ACCESS_DISABLED_BY_POLICY)
CEP を登録するのに十分なアクセス権がありません。

解説(Remarks)

UpdateRegistry メソッドは AddPolicyServer メソッドによって呼び出されます。

vtbl 21 HRESULT RemoveFromRegistry(X509CertificateEnrollmentContext context)

証明書登録ポリシー (CEP) サーバーの登録を解除します。

contextX509CertificateEnrollmentContextin

エンドエンティティの性質を指定する X509CertificateEnrollmentContext 列挙値。次のいずれかの値を指定できます。

意味
ContextUser
エンドユーザー。
ContextMachine
コンピューター。
ContextAdministratorForceMachine
コンピューターに代わって行動する管理者。

戻り値

関数が成功した場合、関数は S_OK を返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。取り得る値には次の表に示すものが含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

戻り値 説明
HRESULT_FROM_WIN32(ERROR_ACCESS_DISABLED_BY_POLICY)
CEP の登録を解除するのに十分なアクセス権がありません。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IX509PolicyServerUrl "{884E204A-217D-11DA-B2A4-000E7BBB2B09}"
#usecom global IX509PolicyServerUrl IID_IX509PolicyServerUrl "{}"
#comfunc global IX509PolicyServerUrl_Initialize          7 int
#comfunc global IX509PolicyServerUrl_get_Url             8 var
#comfunc global IX509PolicyServerUrl_put_Url             9 wstr
#comfunc global IX509PolicyServerUrl_get_Default         10 var
#comfunc global IX509PolicyServerUrl_put_Default         11 int
#comfunc global IX509PolicyServerUrl_get_Flags           12 var
#comfunc global IX509PolicyServerUrl_put_Flags           13 int
#comfunc global IX509PolicyServerUrl_get_AuthFlags       14 var
#comfunc global IX509PolicyServerUrl_put_AuthFlags       15 int
#comfunc global IX509PolicyServerUrl_get_Cost            16 var
#comfunc global IX509PolicyServerUrl_put_Cost            17 int
#comfunc global IX509PolicyServerUrl_GetStringProperty   18 int,var
#comfunc global IX509PolicyServerUrl_SetStringProperty   19 int,wstr
#comfunc global IX509PolicyServerUrl_UpdateRegistry      20 int
#comfunc global IX509PolicyServerUrl_RemoveFromRegistry  21 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。