Método IAlternativeName::InitializeFromRawData (certenroll.h)

O método InitializeFromRawData inicializa o objeto de um GUID DSA (Algoritmo de Assinatura Digital), um nome de diretório X.500 ou um endereço IP (Protocolo de Internet) contido em uma matriz de bytes codificada em Distinguished Encoding Rules (DER).

Sintaxe

HRESULT InitializeFromRawData(
  [in] AlternativeNameType Type,
  [in] EncodingType        Encoding,
  [in] BSTR                strRawData
);

Parâmetros

[in] Type

Um valor de enumeração AlternativeNameType que identifica o tipo de nome representado pela cadeia de caracteres de entrada. Esse deve ser um dos valores a seguir.

Valor Significado
XCN_CERT_ALT_NAME_DIRECTORY_NAME
O nome é um nome de diretório X.500.
XCN_CERT_ALT_NAME_IP_ADDRESS
O nome é um endereço IP.
XCN_CERT_ALT_NAME_GUID
O nome é um GUID.

[in] Encoding

Um valor de enumeração EncodingType que identifica o tipo de codificação Unicode aplicada ao parâmetro strRawData .

[in] strRawData

Uma variável BSTR que contém os dados codificados em 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.

Código de retorno Descrição
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
O objeto já está inicializado.

Comentários

Os dados brutos são uma matriz de bytes que foi codificada usando Distinguished Encoding Rules (DER). Você deve especificar a matriz de bytes como uma cadeia de caracteres codificada em Unicode.

Se você usar esse método para especificar um GUID DSA (XCN_CERT_ALT_NAME_GUID), o GUID será associado ao identificador de objeto (1.3.6.1.4.1.311.25.1) do XCN_OID_NTDS_REPLICATION (1.3.6.1.4.1.311.25.1) e codificado como uma cadeia de caracteres de octeto (matriz de bytes). Você pode recuperar o OID chamando a propriedade ObjectId . Você pode chamar a propriedade RawData para recuperar a matriz de bytes codificada.

Se você usar esse método para especificar qualquer um dos seguintes tipos de nome, o método retornará E_INVALIDARG.

Valor Descrição
XCN_CERT_ALT_NAME_UNKNOWN O tipo de nome não é identificado.
XCN_CERT_ALT_NAME_RFC822_NAME O nome é um endereço de email.
XCN_CERT_ALT_NAME_DNS_NAME O nome é um nome DNS.
XCN_CERT_ALT_NAME_URL O nome é uma URL.
XCN_CERT_ALT_NAME_REGISTERED_ID O nome é um OID registrado.
XCN_CERT_ALT_NAME_USER_PRINCIPLE_NAME O nome é um UPN ( nome de entidade de usuário ).
XCN_CERT_ALT_NAME_OTHER_NAME O nome consiste em um OID e uma matriz de bytes.
 

Você pode usar o método InitializeFromOtherName para especificar um OID e uma cadeia de caracteres de nome correspondente, e você pode usar o método InitializeFromString para especificar um endereço de email, um nome DNS, uma URL, um OID registrado ou um NOME UPN ( nome de entidade de usuário ).

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

IAlternativeName