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_EQ0x1 |
Gleich |
CVR_SEEK_LT0x2 |
Weniger als |
CVR_SEEK_LE0x4 |
Kleiner oder gleich |
CVR_SEEK_GE0x8 |
Größer als oder gleich |
CVR_SEEK_GT0x10 |
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_NONE0 |
Keine Sortierreihenfolge |
CVR_SORT_ASCEND0x1 |
Aufsteigend |
CVR_SORT_DESCEND0x2 |
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 |