ICertProperty ::InitializeDecode, méthode (certenroll.h)

La méthode InitializeDecode initialise l’objet à partir d’un tableau d’octets qui contient la valeur de la propriété. Le tableau d’octets est représenté par une chaîne encodée unicode.

Syntaxe

HRESULT InitializeDecode(
  [in] EncodingType Encoding,
  [in] BSTR         strEncodedData
);

Paramètres

[in] Encoding

Valeur d’énumération EncodingType qui spécifie le type d’encodage Unicode appliqué à la chaîne d’entrée.

[in] strEncodedData

Variable BSTR qui contient la valeur de propriété encodée Distinguished Encoding Rules (DER).

Valeur retournée

Si la fonction réussit, la fonction retourne S_OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code/valeur de retour Description
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L’objet est déjà initialisé.

Remarques

Spécifiez la propriété à initialiser en appelant la propriété PropertyId . Vous pouvez appeler la propriété RawData pour récupérer la valeur de propriété encodée. Appelez la méthode SetValueOnCertificate pour associer la valeur de propriété à un certificat.

Si la méthode InitializeDecode échoue, l’objet ICertProperty n’est pas initialisé et la valeur de la propriété d’entrée n’est pas enregistrée. Toutefois, la propriété PropertyId conserve l’identificateur spécifié.

La méthode InitializeDecode est fournie pour vous permettre d’initialiser des propriétés personnalisées et des propriétés identifiées dans l’énumération CERTENROLL_PROPERTYID pour laquelle il n’existe aucune interface spécifique. Chacune des valeurs prises en charge dans cette énumération contient des informations sur le type de données, généralement un CRYPT_INTEGER_BLOB, que vous devez fournir à la méthode InitializeDecode . Vous pouvez utiliser l’interface IBinaryConverter pour convertir un tableau d’octets en chaîne.

Les interfaces suivantes simplifient la création des propriétés les plus courantes :

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certenroll.h
DLL CertEnroll.dll

Voir aussi

ICertProperties

ICertProperty