Método ICertServerPolicy::GetRequestProperty (certif.h)

O método GetRequestProperty recupera uma propriedade específica de uma solicitação.

Sintaxe

HRESULT GetRequestProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

Parâmetros

[in] strPropertyName

Especifica o nome da propriedade a ser recuperada. Esse parâmetro pode ser definido como uma propriedade de nome ou uma propriedade de solicitação.

As propriedades de nome incluem um conjunto de ações de propriedades de certificado que são sempre válidas e podem ser recuperadas chamando esse método. Para obter informações sobre essas propriedades, consulte Propriedades do nome.

As propriedades de solicitação são exclusivas das solicitações e incluem os valores possíveis a seguir.

Valor Significado
RequestID
Long assinado
RequestID interno.
RawRequest
Binário
Bytes de solicitação brutos.
RequestAttributes
Cadeia de caracteres
Cadeia de caracteres de atributo (pode ser truncada).
RequestType
Long assinado
Indica a solicitação PKCS nº 10 ou KeyGen. Para obter mais informações sobre essa propriedade, consulte Comentários.
SubmittedWhen
Data/hora
Quando chegou.
RequesterName
Cadeia de caracteres
O nome do solicitante no formato "DomainName\UserID".
 

Nota Há propriedades de solicitação adicionais que não podem ser acessadas por GetRequestProperty porque elas não são definidas até que o módulo de política termine de processar a solicitação. Além disso, outras propriedades podem ser definidas por um tipo de solicitação específico, extensões de solicitação ou por atributos nomeados definidos no cabeçalho de uma solicitação.

[in] PropertyType

Especifica o tipo de propriedade. O parâmetro PropertyType pode ser um dos tipos a seguir.

Valor Significado
PROPTYPE_LONG
Dados longos assinados.
PROPTYPE_DATE
Data/hora.
PROPTYPE_BINARY
Dados binários.
PROPTYPE_STRING
Dados de cadeia de caracteres Unicode .

[out] pvarPropertyValue

Um ponteiro para a VARIANT que contém o tipo de propriedade de solicitação.

Retornar valor

C++

Se o método for bem-sucedido, o método retornará S_OK e o parâmetro pvarPropertyValue conterá a propriedade request.

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 é a propriedade de solicitação.

Comentários

O método SetContext deve ser chamado antes de chamar esse método. A chamada para SetContext especifica qual solicitação é usada como o contexto atual.

As solicitações contêm todos os estados associados para a solicitação e o certificado eventualmente concedido que não faz parte do certificado. Portanto, dados como tempos de revogação e dados de disposição são mantidos no objeto de dados de solicitação.

A propriedade RequestType pode ser definida como um dos valores a seguir.

Valor Significado
CR_IN_PKCS A solicitação é uma solicitação de renovação ou registro PKCS nº 7.
CR_IN-PKCS10 A solicitação é uma solicitação PKCS nº 10.
CR_IN_KEYGEN A solicitação é uma solicitação Keygen (formato Netscape).
 

Exemplos

BSTR      bstrPropName = NULL;
VARIANT   varProp;

VariantInit( &varProp );

bstrPropName = SysAllocString(L"RequestID");

// Retrieve the request property.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->GetRequestProperty( bstrPropName,
                                          PROPTYPE_LONG,
                                          &varProp );
if (FAILED(hr))
{
    printf("Failed GetRequestProperty [%x]\n", hr);
    goto error;
}
else
{
    // Successfully retrieved property; use varProp as needed.
    // ...
}

// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
    SysFreeString( bstrPropName );

Requisitos

Requisito Valor
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

ICertServerPolicy

ICertServerPolicy::SetContext

Propriedades do nome