Compartilhar via


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

O método InitializeFromOtherName inicializa o objeto de um OID (identificador de objeto ) e os dados brutos associados (matriz de bytes). Esse método é fornecido para dar suporte ao campo otherName na declaração de extensão AlternativeNames do ASN.1 (Abstract Syntax Notation One).


----------------------------------------------------------------------
-- AlternativeNames 
-- XCN_OID_SUBJECT_ALT_NAME2 (2.5.29.17)
----------------------------------------------------------------------

AltNames ::= SEQUENCE --#public-- OF GeneralName
GeneralNames ::= AltNames

GeneralName ::= CHOICE 
{
   otherName               [0] IMPLICIT OtherName,
   rfc822Name              [1] IMPLICIT IA5STRING,
   dNSName                 [2] IMPLICIT IA5STRING,
   x400Address             [3] IMPLICIT SeqOfAny,       -- Not supported
   directoryName           [4] EXPLICIT ANY,    
   ediPartyName            [5] IMPLICIT SeqOfAny,
   uniformResourceLocator  [6] IMPLICIT IA5STRING,
   iPAddress               [7] IMPLICIT OCTETSTRING,
   registeredID            [8] IMPLICIT EncodedObjectID -- Not supported
}

OtherName ::= SEQUENCE 
{
   type                    EncodedObjectID,
   value                   [0] EXPLICIT NOCOPYANY 
}

Sintaxe

HRESULT InitializeFromOtherName(
  [in] IObjectId    *pObjectId,
  [in] EncodingType Encoding,
  [in] BSTR         strRawData,
  [in] VARIANT_BOOL ToBeWrapped
);

Parâmetros

[in] pObjectId

Ponteiro para uma interface IObjectId que representa um OID.

[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 o nome associado ao OID.

[in] ToBeWrapped

Uma variável VARIANT_BOOL que identifica se a cadeia de caracteres de entrada contida no parâmetro strRawData é codificada e salva como uma cadeia de caracteres de octeto (matriz de bytes).

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

Você pode usar essa função para inicializar um objeto IAlternativeName de um OID e um valor de cadeia de caracteres associado. A cadeia de caracteres é codificada em Unicode. Se você especificar true para o parâmetro ToBeWrapped, a cadeia de caracteres será codificada usando Distinguished Encoding Rules (DER). Você pode recuperar o OID chamando a propriedade ObjectId . Você pode recuperar a cadeia de caracteres codificada ou, se ToBeWrapped for true, a matriz de bytes codificada em DER chamando a propriedade RawData para recuperar a matriz de bytes codificada.

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