Compartilhar via


Método ICertView::SetRestriction (certview.h)

O método SetRestriction define as restrições de classificação e qualificação em uma coluna.

Sintaxe

HRESULT SetRestriction(
  [in] LONG          ColumnIndex,
  [in] LONG          SeekOperator,
  [in] LONG          SortOrder,
  [in] const VARIANT *pvarValue
);

Parâmetros

[in] ColumnIndex

Um número de índice de coluna válido para o modo de exibição ou um especificador de coluna predefinido. Se o parâmetro ColumnIndex não for negativo, esse valor representará o índice baseado em zero da coluna que está recebendo a restrição.

Se o parâmetro ColumnIndex for negativo, todos os outros parâmetros serão ignorados e esse parâmetro deverá ser um dos seguintes valores:

Valor Significado
CV_COLUMN_QUEUE_DEFAULT
-1
Restringe a exibição a solicitações que não foram resolvidas; se uma solicitação resultou em um certificado emitido ou uma solicitação com falha, ela não fará parte da exibição.
CV_COLUMN_LOG_DEFAULT
-2
Restringe a exibição a solicitações que foram resolvidas. Uma solicitação é resolvida se resultou em um certificado emitido ou uma solicitação com falha; certificados revogados são considerados resolvidos.
CV_COLUMN_LOG_FAILED_DEFAULT
-3
Restringe a exibição a solicitações que falharam.

[in] SeekOperator

Especifica o operador lógico do qualificador de consulta de dados para a coluna. Esse parâmetro é usado com o parâmetro pvarValue para definir o qualificador de consulta de dados.

Esse parâmetro deve ser definido como um dos seguintes valores:

Valor Significado
CVR_SEEK_EQ
0x1
Igual a
CVR_SEEK_LT
0x2
Menor que
CVR_SEEK_LE
0x4
Menor ou igual a
CVR_SEEK_GE
0x8
Maior ou igual a
CVR_SEEK_GT
0x10
Maior que

[in] SortOrder

Especifica a ordem de classificação da coluna. Colunas indexadas com zero ou uma restrição podem incluir uma ordem de classificação de CVR_SORT_ASCEND ou CVR_SORT_DESCEND. Colunas ou colunas não indexadas com duas ou mais restrições devem usar CVR_SORT_NONE.

Valor Significado
CVR_SORT_NONE
0
Nenhuma ordem de classificação
CVR_SORT_ASCEND
0x1
Ascendente
CVR_SORT_DESCEND
0x2
Descendente

[in] pvarValue

Especifica o qualificador de consulta de dados aplicado a esta coluna. Esse parâmetro, juntamente com o parâmetro SeekOperator, determina quais dados são retornados para a exibição de Serviços de Certificados.

Valor de retorno

Se o método for bem-sucedido, o método retornará S_OK.

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.

Observações

O objeto ICertView mantém uma matriz de restrições, permitindo que cada coluna contenha qualquer número de restrições. Depois que as restrições de coluna forem estabelecidas, uma chamada para o método ICertView::OpenView recuperará os dados, com as restrições de cada coluna usadas como parte da consulta de banco de dados.

Antes que o método SetRestriction seja chamado, é necessário estabelecer uma conexão com o servidor do Serviço de Certificado chamando o métodoICertView::OpenConnection.

Exemplos

    // This example restricts the data
    // to rows that have RequestIDs greater than five.
    // pCertView is a pointer to ICertView.
    HRESULT    hr;
    VARIANT    varRest;
    LONG       nIndex;
    BSTR       bstrCol = NULL;

    // Use one column in the result set.
    hr = pCertView->SetResultColumnCount(1);
    if (FAILED(hr))
    {
        printf("Failed SetResultColumnCount - %x\n", hr);
        goto error;
    }
    // Determine the column index for RequestID column.
    bstrCol = SysAllocString(TEXT("RequestID"));
    hr = pCertView->GetColumnIndex(FALSE, bstrCol, &nIndex);
    if (FAILED(hr))
    {
        printf("Failed GetColumnIndex - %x\n", hr);
        goto error;
    }
    // Place this column into the result set.
    pCertView->SetResultColumn(nIndex);
    // Set a restriction on this column.
    VariantInit(&varRest);
    varRest.vt = VT_I4;
    varRest.lVal = 5;
    // Restrict view to requests with ID greater than 5.
    hr = pCertView->SetRestriction(nIndex,
                                   CVR_SEEK_GT,
                                   CVR_SORT_NONE,
                                   &varRest);
    if (S_OK != hr)
        printf("Failed ICertView::SetRestriction - %x\n", hr);
    else
    {
        // Call OpenView, process rows, release resources, and so on.
        // ...
    }
error:
    // Done processing, clear resources.
    VariantClear(&varRest);
    if (NULL != bstrCol)
        SysFreeString(bstrCol);

Requisitos

Requisito Valor
de cliente com suporte mínimo Nenhum com suporte
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho certview.h (inclua Certsrv.h)
biblioteca Certidl.lib
de DLL Certadm.dll

Consulte também

ICertView

ICertView2

ICertView::OpenConnection

ICertView::OpenView

ICertView::SetResultColumn

IEnumCertViewColumn::IsIndexed