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 |
---|---|
|
O método foi bem-sucedido. |
|
O parâmetro partReference é NULL. |
|
O enumerador é inválido porque o conjunto subjacente foi alterado. |
|
O enumerador não pode executar essa operação de sua posição atual. |
|
Uma relação cujo destino é uma parte de Assinatura tem o modo de destino externo; As partes de assinatura devem estar dentro do pacote. |
|
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. |
|
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. |
|
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. |
|
O elemento SignatureProperty não tem o atributo Target necessário. |
|
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
Principais interfaces de empacotamento
Visão geral de assinaturas digitais
Introdução com a API de Empacotamento
Visões gerais
Guia de Programação da API de Empacotamento
Referência da API de Empacotamento
Exemplos de API de empacotamento
Referência