Partager via


ICertView ::SetRestriction, méthode (certview.h)

La méthode SetRestriction définit les restrictions de tri et de qualification sur une colonne.

Syntaxe

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

Paramètres

[in] ColumnIndex

Numéro d’index de colonne valide pour la vue ou un spécificateur de colonne prédéfini. Si le paramètre ColumnIndex n’est pas négatif, cette valeur représente l’index de base zéro de la colonne qui reçoit la restriction.

Si le paramètre ColumnIndex est négatif, tous les autres paramètres sont ignorés et ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
CV_COLUMN_QUEUE_DEFAULT
-1
Limite l’affichage aux demandes qui n’ont pas été résolues ; si une demande a entraîné un certificat émis ou une demande ayant échoué, elle ne fait pas partie de la vue.
CV_COLUMN_LOG_DEFAULT
-2
Limite l’affichage aux requêtes qui ont été résolues. Une demande est résolue s’il a entraîné un certificat émis ou une demande ayant échoué ; les certificats révoqués sont considérés comme résolus.
CV_COLUMN_LOG_FAILED_DEFAULT
-3
Limite l’affichage aux requêtes ayant échoué.

[in] SeekOperator

Spécifie l’opérateur logique du qualificateur de requête de données pour la colonne. Ce paramètre est utilisé avec le paramètre pvarValue pour définir le qualificateur de requête de données.

Ce paramètre doit être défini sur l’une des valeurs suivantes :

Valeur Signification
CVR_SEEK_EQ
0x1
Égal à
CVR_SEEK_LT
0x2
Moins de
CVR_SEEK_LE
0x4
Inférieur ou égal à
CVR_SEEK_GE
0x8
Supérieur ou égal à
CVR_SEEK_GT
0x10
Plus grand que

[in] SortOrder

Spécifie l’ordre de tri de la colonne. Les colonnes indexées avec zéro ou une restriction peuvent inclure un ordre de tri de CVR_SORT_ASCEND ou de CVR_SORT_DESCEND. Les colonnes ou colonnes non indexées avec deux restrictions ou plus doivent utiliser CVR_SORT_NONE.

Valeur Signification
CVR_SORT_NONE
0
Aucun ordre de tri
CVR_SORT_ASCEND
0x1
Ascendant
CVR_SORT_DESCEND
0x2
Descendant

[in] pvarValue

Spécifie le qualificateur de requête de données appliqué à cette colonne. Ce paramètre, ainsi que le paramètre SeekOperator, détermine les données retournées à la vue Services de certificats.

Valeur de retour

Si la méthode réussit, la méthode retourne S_OK.

Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Remarques

L’objet ICertView gère un tableau de restrictions, ce qui permet à chaque colonne de contenir un nombre quelconque de restrictions. Une fois les restrictions de colonne établies, un appel à la méthode ICertView ::OpenView récupère les données, avec les restrictions de chaque colonne utilisées dans le cadre de la requête de base de données.

Avant l’appel de la méthode setRestriction , il est nécessaire d’établir une connexion avec le serveur de service de certificats en appelant la méthodeICertView ::OpenConnection.

Exemples

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

Exigences

Exigence Valeur
client minimum pris en charge Aucun pris en charge
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête certview.h (include Certsrv.h)
bibliothèque Certidl.lib
DLL Certadm.dll

Voir aussi

ICertView

ICertView2

ICertView ::OpenConnection

ICertView ::OpenView

ICertView ::SetResultColumn

IEnumCertViewColumn ::IsIndexed