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 a 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 valores a seguir.

Valor Significado
CV_COLUMN_LOG_DEFAULT
Restringe a exibição a solicitações que foram resolvidas. Uma solicitação será resolvida se tiver resultado em um certificado emitido ou uma solicitação com falha; Certificados revogados são considerados resolvidos.
CV_COLUMN_LOG_FAILED_DEFAULT
Restringe a exibição a solicitações que falharam.
CV_COLUMN_QUEUE_DEFAULT
Restringe a exibição a solicitações que não foram resolvidas; se uma solicitação tiver resultado em um certificado emitido ou uma solicitação com falha, ela não fará parte da exibição.

[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 valores a seguir.

Valor Significado
CVR_SEEK_EQ
Igual a
CVR_SEEK_LE
Menor que ou igual a
CVR_SEEK_LT
Menor que
CVR_SEEK_GE
Maior ou igual a
CVR_SEEK_GT
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 expostas com duas ou mais restrições devem usar CVR_SORT_NONE.

Valor Significado
CVR_SORT_ASCEND
Crescente
CVR_SORT_DESCEND
Decrescente
CVR_SORT_NONE
Sem ordem de classificação

[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 Serviços de Certificados.

Retornar valor

VB

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.

Comentários

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 de Serviço de Certificado chamando o método ICertView::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
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 certview.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certadm.dll

Confira também

ICertView

ICertView2

ICertView::OpenConnection

ICertView::OpenView

ICertView::SetResultColumn

IEnumCertViewColumn::IsIndexed