Compartilhar via


Método ICertProperty::InitializeDecode (certenroll.h)

O método InitializeDecode inicializa o objeto de uma matriz de bytes que contém o valor da propriedade. A matriz de bytes é representada por uma cadeia de caracteres codificada por Unicode.

Sintaxe

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

Parâmetros

[in] Encoding

Um valor de enumeração EncodingType que especifica o tipo de codificação Unicode aplicada à cadeia de caracteres de entrada.

[in] strEncodedData

Uma variável BSTR que contém o valor da propriedade codificada de DER (Distinguished Encoding Rules ).

Valor de retorno

Se a função for bem-sucedida, a função retornará S_OK.

Se a função falhar, ela retornará um valor HRESULT que indica o erro. Os valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT Comuns.

Código/valor de retorno Description
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
O objeto já está inicializado.

Observações

Especifique a propriedade a ser inicializada chamando a propriedade PropertyId . Você pode chamar a propriedade RawData para recuperar o valor da propriedade codificada. Chame o método SetValueOnCertificate para associar o valor da propriedade a um certificado.

Se o método InitializeDecode falhar, o objeto ICertProperty não será inicializado e o valor da propriedade de entrada não será salvo. No entanto, a propriedade PropertyId retém o identificador especificado.

O método InitializeDecode é fornecido para permitir que você inicialize propriedades e propriedades personalizadas identificadas na enumeração CERTENROLL_PROPERTYID para a qual não existe nenhuma interface específica. Cada um dos valores com suporte nessa enumeração contém informações sobre o tipo de dados, geralmente um CRYPT_INTEGER_BLOB, que você deve fornecer ao método InitializeDecode . Você pode usar a interface IBinaryConverter para converter uma matriz de bytes em uma cadeia de caracteres.

As interfaces a seguir simplificam a criação das propriedades mais comuns:

Requirements

Requirement Value
Cliente mínimo suportado Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header certenroll.h
de DLL CertEnroll.dll

Consulte também

ICertProperties

ICertProperty