Condividi tramite


Metodo ICertView::SetRestriction (certview.h)

Il metodo SetRestriction imposta le restrizioni di ordinamento e qualificazione per una colonna.

Sintassi

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

Parametri

[in] ColumnIndex

Numero di indice di colonna valido per la vista o un identificatore di colonna predefinito. Se il parametro ColumnIndex non è negativo, questo valore rappresenta l'indice in base zero della colonna che riceve la restrizione.

Se il parametro ColumnIndex è negativo, tutti gli altri parametri vengono ignorati e questo parametro deve essere uno dei valori seguenti.

Valore Significato
CV_COLUMN_LOG_DEFAULT
Limita la visualizzazione alle richieste risolte. Una richiesta viene risolta se ha generato un certificato emesso o una richiesta non riuscita; i certificati revocati vengono considerati risolti.
CV_COLUMN_LOG_FAILED_DEFAULT
Limita la visualizzazione alle richieste non riuscite.
CV_COLUMN_QUEUE_DEFAULT
Limita la visualizzazione alle richieste che non sono state risolte; se una richiesta ha generato un certificato emesso o una richiesta non riuscita, non farà parte della visualizzazione.

[in] SeekOperator

Specifica l'operatore logico del qualificatore di query di dati per la colonna. Questo parametro viene usato con il parametro pvarValue per definire il qualificatore data-query. Questo parametro deve essere impostato su uno dei valori seguenti.

Valore Significato
CVR_SEEK_EQ
Uguale a
CVR_SEEK_LE
Minore o uguale a
CVR_SEEK_LT
Minore di
CVR_SEEK_GE
Maggiore o uguale a
CVR_SEEK_GT
Maggiore di

[in] SortOrder

Specifica l'ordinamento per la colonna. Le colonne indicizzate con zero o una restrizione possono includere un ordinamento di CVR_SORT_ASCEND o CVR_SORT_DESCEND. Le colonne o le colonne non indicizzate con due o più restrizioni devono usare CVR_SORT_NONE.

Valore Significato
CVR_SORT_ASCEND
Crescente
CVR_SORT_DESCEND
Decrescente
CVR_SORT_NONE
Nessun ordinamento

[in] pvarValue

Specifica il qualificatore di query di dati applicato a questa colonna. Questo parametro, insieme al parametro SeekOperator , determina quali dati vengono restituiti alla visualizzazione Servizi certificati.

Valore restituito

VB

Se il metodo ha esito positivo, il metodo restituisce S_OK.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Commenti

L'oggetto ICertView gestisce una matrice di restrizioni, consentendo a ogni colonna di contenere un numero qualsiasi di restrizioni. Dopo aver stabilito le restrizioni della colonna, una chiamata al metodo ICertView::OpenView recupererà i dati, con le restrizioni di ogni colonna usata come parte della query del database.

Prima di chiamare il metodo SetRestriction , è necessario stabilire una connessione con il server del servizio certificati chiamando il metodo ICertView::OpenConnection .

Esempio

    // 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);

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certview.h (include Certsrv.h)
Libreria Certidl.lib
DLL Certadm.dll

Vedi anche

ICertView

ICertView2

ICertView::OpenConnection

ICertView::OpenView

ICertView::SetResultColumn

IEnumCertViewColumn::IsIndexed