Método IOpcCertificateEnumerator::GetCurrent (msopc.h)

Obtém a estrutura CERT_CONTEXT na posição atual do enumerador.

Sintaxe

HRESULT GetCurrent(
  [out, retval] const CERT_CONTEXT **certificate
);

Parâmetros

[out, retval] certificate

Um ponteiro para uma estrutura de CERT_CONTEXT . Se o método for bem-sucedido, chame a função CertFreeCertificateContext para liberar a memória da estrutura.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Valor/código retornado Descrição
S_OK
O método foi bem-sucedido.
E_POINTER
O parâmetro partReference é NULL.
OPC_E_ENUM_COLLECTION_CHANGED
0x80510050
O enumerador é inválido porque o conjunto subjacente foi alterado.
OPC_E_ENUM_INVALID_POSITION
0x80510053
O enumerador não pode executar essa operação de sua posição atual.
OPC_E_DS_EXTERNAL_SIGNATURE
0x8051001E
Uma relação cujo destino é uma parte de Assinatura tem o modo de destino externo; As partes de assinatura devem estar dentro do pacote.
OPC_E_DS_INVALID_CERTIFICATE_RELATIONSHIP
0x8051001D
Uma relação do tipo certificado de assinatura digital tem o modo de destino externo.

Para obter mais informações sobre esse tipo de relação, consulte o OPC.

OPC_E_DS_INVALID_RELATIONSHIP_TRANSFORM_XML
0x80510021
Um elemento Transform que indica o uso da transformação de relações e os critérios de seleção para a transformação não estão em conformidade com o esquema especificado no OPC.
OPC_E_DS_MISSING_CERTIFICATE_PART
0x80510056
A parte que contém o certificado e é o destino de uma relação do tipo certificado de assinatura digital não existe.

Para obter mais informações sobre esse tipo de relação, consulte o OPC.

OPC_E_DS_SIGNATURE_PROPERTY_MISSING_TARGET
0x80510045
O elemento SignatureProperty não tem o atributo Target necessário.
OPC_E_UNEXPECTED_CONTENT_TYPE
0x80510005
O tipo de conteúdo de uma parte difere do tipo de conteúdo esperado (especificado no OPC, ECMA-376 Parte 2) ou o conteúdo da parte não correspondeu ao tipo de conteúdo da parte.

Comentários

Se o certificado representado pela estrutura CERT_CONTEXT estiver corrompido ou não for um certificado X.509, esse método retornará um erro; além disso, a política de assinatura usada pelo chamador determina se a assinatura ainda será validada. Depois que esse tipo de erro for retornado, as chamadas para o método MoveNext ou MovePrevious continuarão a iterar por meio do enumerador.

Quando um enumerador é criado, a posição atual precede o primeiro ponteiro do enumerador. Para definir a posição atual como o primeiro ponteiro, chame o método MoveNext após a criação do enumerador.

Acesso thread-safe

Os objetos de empacotamento não são thread-safe.

Para obter mais informações, consulte o Introdução com a API de Empacotamento.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho msopc.h

Confira também

Certificados

Principais interfaces de empacotamento

Visão geral de assinaturas digitais

Introdução com a API de Empacotamento

IOpcCertificateEnumerator

IOpcCertificateSet

Visões gerais

Guia de Programação da API de Empacotamento

Referência da API de Empacotamento

Exemplos de API de empacotamento

Interfaces de empacotamento

Referência