ICertificateEnrollmentPolicyServerSetup::SetProperty 方法 (casetup.h)

SetProperty 方法为证书注册策略 (CEP) Web 服务配置指定 CEPSetupProperty 枚举值。

语法

HRESULT SetProperty(
  [in] CEPSetupProperty propertyId,
  [in] VARIANT          *pPropertyValue
);

参数

[in] propertyId

CEPSetupProperty 枚举的值,指定要设置的属性值。 以下值有效。

Value 说明
ENUM_CEPSETUPPROP_AUTHENTICATION pPropertyValue 参数包含一个值,该值标识要使用的身份验证类型。
ENUM_CEPSETUPPROP_SSLCERTHASH pPropertyValue 参数包含身份验证期间使用的证书的哈希(如果有)。 ENUM_CEPSETUPPROP_AUTHENTICATION 必须设置为 X509AuthCertificate。
ENUM_CEPSETUPPROP_KEYBASED_RENEWAL pPropertyValue 参数指定是否在仅返回 KeyBasedRenewal 模板策略的模式下设置注册策略服务器。
ENUM_CEPSETUPPROP_URL 不能指定此值。

[in] pPropertyValue

指向包含属性值的 VARIANT 变量的指针。

如果在 propertyId 参数中指定ENUM_CEPSETUPPROP_AUTHENTICATION则 VARIANT 子类型必须是VT_I2VT_I4VT_UII4pPropertyValue 参数必须是以下常量之一:

  • X509AuthKerberos
  • X509AuthUsername
  • X509AuthCertificate

如果在 propertyId 参数中指定ENUM_CEPSETUPPROP_SSLCERTHASH,则必须将 pPropertyValue 参数设置为包含用于身份验证的证书哈希的VT_BSTR子类型。

如果在 propertyId 参数中指定ENUM_CEPSETUPPROP_AUTHENTICATIONpPropertyValue 参数将包含身份验证过程。

如果在 propertyId 参数中指定ENUM_CEPSETUPPROP_URLpPropertyValue 参数将包含证书注册策略 (CEP) Web 服务 URL。

如果在 propertyId 参数中指定ENUM_CEPSETUPPROP_KEYBASED_RENEWAL,则必须将 pPropertyValue 参数设置为VT_BOOL子类型,该子类型指示是否在仅返回 KeyBasedRenewal 模板策略的模式下设置注册策略服务器。

返回值

返回代码 说明
E_INVALIDARG
propertyId 参数不是 CEPSetupProperty 枚举类型的成员,或者您尝试设置ENUM_CEPSETUPPROP_URL值。
E_POINTER
pPropertyValue 参数不能为 NULL
HRESULT_FROM_WIN32 (ERROR_INVALID_STATE)
ICertificateEnrollmentPolicyServerSetup 对象尚未初始化。

ErrorString 属性值设置为“尚未初始化安装程序对象。 请使用 InitializeInstallDefaults 方法初始化安装程序对象。”

HRESULT_FROM_WIN32 (ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH)
如果要设置 ENUM_CEPSETUPPROP_AUTHENTICATION 属性,则 VARIANT 子类型必须是 VT_I2VT_I4VT_UI4

注解

在调用 SetProperty 方法之前,必须调用 InitializeInstallDefaults

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 casetup.h
DLL Certocm.dll

另请参阅

GetProperty

ICertificateEnrollmentPolicyServerSetup

InitializeInstallDefaults