Freigeben über


ICertView::SetRestriction-Methode (certview.h)

Die SetRestriction--Methode legt die Sortier- und Qualifizierungseinschränkungen für eine Spalte fest.

Syntax

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

Parameter

[in] ColumnIndex

Eine gültige Spaltenindexnummer für die Ansicht oder einen vordefinierten Spaltenbezeichner. Wenn der ColumnIndex Parameter nicht negativ ist, stellt dieser Wert den nullbasierten Index der Spalte dar, die die Einschränkung empfängt.

Wenn der ColumnIndex Parameter negativ ist, werden alle anderen Parameter ignoriert, und dieser Parameter muss einer der folgenden Werte sein:

Wert Bedeutung
CV_COLUMN_QUEUE_DEFAULT
-1
Beschränkt die Ansicht auf Anforderungen, die nicht aufgelöst wurden; wenn eine Anforderung entweder zu einem ausgestellten Zertifikat oder einer fehlgeschlagenen Anforderung geführt hat, ist sie nicht Teil der Ansicht.
CV_COLUMN_LOG_DEFAULT
-2
Schränkt die Ansicht auf Anforderungen ein, die aufgelöst wurden. Eine Anforderung wird aufgelöst, wenn sie zu einem ausgestellten Zertifikat oder einer fehlgeschlagenen Anforderung geführt hat. widerrufene Zertifikate werden als aufgelöst betrachtet.
CV_COLUMN_LOG_FAILED_DEFAULT
-3
Beschränkt die Ansicht auf Anforderungen, die fehlgeschlagen sind.

[in] SeekOperator

Gibt den logischen Operator des Datenabfragequalifizierers für die Spalte an. Dieser Parameter wird mit dem pvarValue Parameter verwendet, um den Datenabfragequalifizierer zu definieren.

Dieser Parameter muss auf einen der folgenden Werte festgelegt werden:

Wert Bedeutung
CVR_SEEK_EQ
0x1
Gleich
CVR_SEEK_LT
0x2
Weniger als
CVR_SEEK_LE
0x4
Kleiner oder gleich
CVR_SEEK_GE
0x8
Größer als oder gleich
CVR_SEEK_GT
0x10
Größer als

[in] SortOrder

Gibt die Sortierreihenfolge für die Spalte an. Indizierte Spalten mit null oder einer Einschränkung können eine Sortierreihenfolge von CVR_SORT_ASCEND oder CVR_SORT_DESCENDenthalten. Nicht indizierte Spalten oder Spalten mit mindestens zwei Einschränkungen müssen CVR_SORT_NONEverwenden.

Wert Bedeutung
CVR_SORT_NONE
0
Keine Sortierreihenfolge
CVR_SORT_ASCEND
0x1
Aufsteigend
CVR_SORT_DESCEND
0x2
Absteigend

[in] pvarValue

Gibt den Auf diese Spalte angewendeten Datenabfragequalifizierer an. Dieser Parameter bestimmt zusammen mit dem parameter SeekOperator, welche Daten an die Zertifikatdienstansicht zurückgegeben werden.

Rückgabewert

Wenn die Methode erfolgreich ist, gibt die Methode S_OKzurück.

Wenn die Methode fehlschlägt, wird ein HRESULT- Wert zurückgegeben, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Bemerkungen

Das ICertView--Objekt behält ein Array von Einschränkungen bei, sodass jede Spalte eine beliebige Anzahl von Einschränkungen enthalten kann. Nachdem die Spalteneinschränkungen festgelegt wurden, ruft ein Aufruf der ICertView::OpenView-Methode die Daten ab, wobei die Einschränkungen jeder Spalte als Teil der Datenbankabfrage verwendet werden.

Bevor die SetRestriction--Methode aufgerufen wird, müssen Sie eine Verbindung mit dem Zertifikatdienstserver herstellen, indem Sie dieICertView::OpenConnection--Methode aufrufen.

Beispiele

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Keine unterstützt
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- certview.h (include Certsrv.h)
Library Certidl.lib
DLL- Certadm.dll

Siehe auch

ICertView-

ICertView2-

ICertView::OpenConnection

ICertView::OpenView

ICertView::SetResultColumn

IEnumCertViewColumn::IsIndexed