IX509ExtensionEnhancedKeyUsage::InitializeEncode method (certenroll.h)

The InitializeEncode method initializes the extension from a collection of IObjectId object identifiers (OIDs) that specify the intended uses of the public key. This method is web enabled.


HRESULT InitializeEncode(
  [in] IObjectIds *pValue


[in] pValue

Pointer to an IObjectIds interface.

Return value

If the function succeeds, the function returns S_OK.

If the function fails, it returns an HRESULT value that indicates the error. Possible values include, but are not limited to, those in the following table. For a list of common error codes, see Common HRESULT Values.

Return code/value Description
The object is already initialized.


You must call either InitializeEncode or InitializeDecode before you can use an IX509ExtensionEnhancedKeyUsage object. The two methods complement each other. The InitializeEncode method enables you to construct a Distinguished Encoding Rules (DER) encoded Abstract Syntax Notation One (ASN.1) extension object from raw data, and the InitializeDecode method enables you to initialize the raw data from an encoded object.

You can retrieve the following properties for this extension:

  • The Critical property identifies whether the extension is critical. You can also specify this property.
  • The ObjectId property retrieves the extension object identifier (OID).
  • The EnhancedKeyUsage property retrieves the collection of OIDs that identify the intended uses of the public key (the raw extension 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