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 パラメーターが負の値の場合、他のすべてのパラメーターは無視され、このパラメーターは次のいずれかの値である必要があります。
価値 | 意味 |
---|---|
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
列の並べ替え順序を指定します。 制限が 0 または 1 のインデックス付き列には、CVR_SORT_ASCEND または CVR_SORT_DESCENDの並べ替え順序を含めることができます。 2 つ以上の制限があるインデックスのない列または列は、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 (Certsrv.h を含む) |
ライブラリ | Certidl.lib |
DLL | Certadm.dll |
関連項目
ICertView の
ICertView2 の