Partager via


Méthode ICertView ::SetRestriction (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 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_LOG_DEFAULT
Restreint l’affichage aux demandes qui ont été résolues. Une demande est résolue si elle a donné lieu à un certificat émis ou à un échec de demande ; les certificats révoqués sont considérés comme résolus.
CV_COLUMN_LOG_FAILED_DEFAULT
Restreint l’affichage aux requêtes qui ont échoué.
CV_COLUMN_QUEUE_DEFAULT
Restreint l’affichage aux requêtes qui n’ont pas été résolues ; si une requête a donné lieu à un certificat émis ou à une demande ayant échoué, elle ne fera pas partie de la vue.

[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
Égal à
CVR_SEEK_LE
Inférieur ou égal à
CVR_SEEK_LT
Inférieur à
CVR_SEEK_GE
Supérieur ou égal à
CVR_SEEK_GT
Supérieur à

[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 non indexées ou les colonnes avec au moins deux restrictions doivent utiliser CVR_SORT_NONE.

Valeur Signification
CVR_SORT_ASCEND
Croissant
CVR_SORT_DESCEND
Décroissant
CVR_SORT_NONE
Aucun ordre de tri

[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éterminent les données retournées à la vue Services de certificats.

Valeur retournée

VB

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 conserve 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, les restrictions de chaque colonne étant utilisées dans le cadre de la requête de base de données.

Avant d’appeler la méthode SetRestriction , il est nécessaire d’établir une connexion avec le serveur du service de certificats en appelant la méthode ICertView ::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);

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certview.h (inclure Certsrv.h)
Bibliothèque Certidl.lib
DLL Certadm.dll

Voir aussi

ICertView

ICertView2

ICertView ::OpenConnection

ICertView ::OpenView

ICertView ::SetResultColumn

IEnumCertViewColumn ::IsIndexed