IX509AttributeCspProvider::InitializeEncode method (certenroll.h)

The InitializeEncode method initializes the attribute from information about the provider.


HRESULT InitializeEncode(
  [in] X509KeySpec  KeySpec,
  [in] BSTR         strProviderName,
  [in] EncodingType Encoding,
  [in] BSTR         strSignature


[in] KeySpec

An X509KeySpec enumeration value that identifies whether the key pair is used for encryption or for signing.

[in] strProviderName

A BSTR variable that contains the provider name.

[in] Encoding

An EncodingType enumeration value that specifies the type of Unicode encoding applied to the signature contained in the strSignature parameter.

[in] strSignature

A BSTR variable that contains the provider signature.

Return value

If the function succeeds, the function returns S_OK.

If the function fails, it returns an HRESULT value that indicates the error. For a list of common error codes, see Common HRESULT Values.


The object identifier (OID) for this attribute is XCN_OID_ENROLLMENT_CSP_PROVIDER ( For more information, see CERTENROLL_OBJECTID.

You must call either InitializeEncode or InitializeDecode before you can use an IX509AttributeCspProvider object. The two methods complement each other. The InitializeEncode method enables you to construct an encoded Abstract Syntax Notation One (ASN.1) structure from raw data, and the InitializeDecode method enables you to initialize raw data from an encoded ASN.1 structure. You can call the following properties to retrieve the raw data:


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header certenroll.h
DLL CertEnroll.dll

See also