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포함될 수 있습니다. 인덱싱되지 않은 열 또는 두 개 이상의 제한이 있는 열은 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 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certview.h(Certsrv.h 포함) |
라이브러리 | Certidl.lib |
DLL | Certadm.dll |
참고 항목
ICertView
ICertView2