Compartilhar via


Método ICertServerExit::GetCertificateExtension (certif.h)

O método GetCertificateExtension obtém uma extensão de certificado especificada.

Observe que as extensões de certificado são distintas das propriedades do certificado. As propriedades são dados genéricos anexados ao objeto de solicitação. Algumas dessas propriedades são codificadas no certificado (exemplo: BeginDate), enquanto outras são usadas apenas para marcar solicitações na fila e no log. As extensões que não estão desabilitadas são codificadas no certificado. As extensões são sempre marcadas com um identificador de objeto e sempre têm um sinalizador crítico/não crítico.

Sintaxe

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

Parâmetros

[in] strExtensionName

Uma cadeia de caracteres que contém o nome da extensão.

[in] Type

Especifica o tipo da extensão. O tipo pode ser um dos tipos a seguir.

Valor Significado
PROPTYPE_LONG
Dados longos assinados
PROPTYPE_DATE
Data/hora
PROPTYPE_BINARY
O valor da extensão é recuperado como está e é codificado em ASN.1, se necessário.
PROPTYPE_STRING
O valor da extensão é codificado em ASN.1 como uma cadeia de caracteres IA5.

[out] pvarValue

Um ponteiro para um VARIANT que recebe o valor de extensão solicitado.

Valor retornado

C++

Se o método for bem-sucedido, o método retornará S_OK e *pvarValue será definido como o VARIANT que contém o valor da extensão.

Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

VB

O valor retornado é o valor de extensão solicitado.

Comentários

Você deve chamar ICertServerExit::SetContext antes de usar esse método.

Exemplos

VARIANT  varExt;
HRESULT  hr;

VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateExtension(bstrExtName,
                                              PROPTYPE_BINARY,
                                              &varExt);

if (FAILED(hr))
{
    printf("Failed GetCertificateExtension [%x]\n", hr);
    goto error;
}
// Successful call; Use the value in varExt as needed.
// ...

// When done, clear the Variant
VariantClear(&varExt);

Requisitos

   
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certif.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certcli.dll

Confira também

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext