Метод ICertView::SetRestriction (certview.h)
Метод SetRestriction задает ограничения сортировки и квалификации столбца.
Синтаксис
HRESULT SetRestriction(
[in] LONG ColumnIndex,
[in] LONG SeekOperator,
[in] LONG SortOrder,
[in] const VARIANT *pvarValue
);
Параметры
[in] ColumnIndex
Допустимый номер индекса столбца для представления или предопределенного описателя столбца. Если параметр ColumnIndex не является отрицательным, это значение представляет отсчитываемый от нуля индекс столбца, получающего ограничение.
Если параметр ColumnIndex является отрицательным, все остальные параметры игнорируются, и этот параметр должен быть одним из следующих значений:
Ценность | Значение |
---|---|
CV_COLUMN_QUEUE_DEFAULT-1 |
Ограничивает представление запросов, которые не были разрешены; Если запрос привел к выполнению выданного сертификата или неудачного запроса, он не будет частью представления. |
CV_COLUMN_LOG_DEFAULT-2 |
Ограничивает представление разрешенными запросами. Запрос разрешается, если он привел к выданному сертификату или неудачному запросу; Отмененные сертификаты считаются разрешенными. |
CV_COLUMN_LOG_FAILED_DEFAULT-3 |
Ограничивает представление запросами, которые завершились сбоем. |
[in] SeekOperator
Указывает логический оператор квалификатора запроса данных для столбца. Этот параметр используется с параметром pvarValue для определения квалификатора запроса данных.
Этот параметр должен иметь одно из следующих значений:
Ценность | Значение |
---|---|
CVR_SEEK_EQ0x1 |
Равно |
CVR_SEEK_LT0x2 |
Менее |
CVR_SEEK_LE0x4 |
Меньше или равно |
CVR_SEEK_GE0x8 |
Больше или равно |
CVR_SEEK_GT0x10 |
Больше |
[in] SortOrder
Указывает порядок сортировки столбца. Индексированные столбцы с нулевым или одним ограничением могут включать порядок сортировки CVR_SORT_ASCEND или CVR_SORT_DESCEND. Неиндексированные столбцы или столбцы с двумя или более ограничениями должны использовать CVR_SORT_NONE.
Ценность | Значение |
---|---|
CVR_SORT_NONE0 |
Порядок сортировки не указан |
CVR_SORT_ASCEND0x1 |
Восходящий |
CVR_SORT_DESCEND0x2 |
Спускающийся |
[in] pvarValue
Указывает квалификатор запроса данных, применяемый к этому столбцу. Этот параметр вместе с параметром SeekOperator определяет, какие данные возвращаются в представление служб сертификатов.
Возвращаемое значение
Если метод выполнен успешно, метод возвращает S_OK.
Если метод завершается ошибкой, он возвращает значение HRESULT, указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Замечания
Объект ICertView поддерживает массив ограничений, что позволяет каждому столбцу содержать любое количество ограничений. После установки ограничений столбцов вызов метода ICertView::OpenView извлекает данные с ограничениями каждого столбца, используемыми в рамках запроса базы данных.
Перед вызовом метода SetRestriction необходимо установить подключение к серверу службы сертификатов путем вызова методаICertView::OpenConnection.
Примеры
// 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);
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Не поддерживается |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | certview.h (include Certsrv.h) |
библиотеки |
Certidl.lib |
DLL | Certadm.dll |