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 em 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 em DISTINGUISHED ENCODING RULES (DER).

Retornar valor

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 possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Valor/código retornado Descrição
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
O objeto já está inicializado.

Comentários

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 seguintes interfaces simplificam a criação das propriedades mais comuns:

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certenroll.h
DLL CertEnroll.dll

Confira também

ICertProperties

ICertProperty