ICertView::SetRestriction メソッド (certview.h)
SetRestriction メソッドは、列の並べ替えと修飾の制限を設定します。
構文
HRESULT SetRestriction(
[in] LONG ColumnIndex,
[in] LONG SeekOperator,
[in] LONG SortOrder,
[in] const VARIANT *pvarValue
);
パラメーター
[in] ColumnIndex
ビューの有効な列インデックス番号、または定義済みの列指定子。 ColumnIndex パラメーターが負でない場合、この値は制限を受ける列の 0 から始まるインデックスを表します。
ColumnIndex パラメーターが負の値の場合、他のすべてのパラメーターは無視され、このパラメーターは次のいずれかの値である必要があります。
[in] SeekOperator
列のデータ クエリ修飾子の論理演算子を指定します。 このパラメーターは、データ クエリ修飾子を定義するために pvarValue パラメーターと共に使用されます。 このパラメーターは、次のいずれかの値に設定する必要があります。
値 | 意味 |
---|---|
|
等しい |
|
以下 |
|
より小さい |
|
以上 |
|
より大きい |
[in] SortOrder
列の並べ替え順序を指定します。 制限が 0 または 1 のインデックス付き列には、CVR_SORT_ASCENDまたはCVR_SORT_DESCENDの並べ替え順序を含めることができます。 2 つ以上の制限があるインデックスのない列または列では、CVR_SORT_NONEを使用する必要があります。
値 | 意味 |
---|---|
|
[昇順] |
|
[降順] |
|
並べ替え順序なし |
[in] pvarValue
この列に適用されるデータ クエリ修飾子を指定します。 このパラメーターは SeekOperator パラメーターと共に、証明書サービス ビューに返されるデータを決定します。
戻り値
VB
メソッドが成功した場合、メソッドは 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 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certview.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certadm.dll |