Share via


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_LOG_DEFAULT
뷰를 해결된 요청으로 제한합니다. 발급된 인증서 또는 실패한 요청이 발생한 경우 요청이 해결됩니다. 해지된 인증서는 해결된 것으로 간주됩니다.
CV_COLUMN_LOG_FAILED_DEFAULT
실패한 요청으로 보기를 제한합니다.
CV_COLUMN_QUEUE_DEFAULT
확인되지 않은 요청으로 보기를 제한합니다. 요청으로 인해 인증서가 발급되었거나 실패한 요청이 발생한 경우 뷰의 일부가 아닙니다.

[in] SeekOperator

열에 대한 데이터 쿼리 한정자의 논리 연산자를 지정합니다. 이 매개 변수는 pvarValue 매개 변수와 함께 데이터 쿼리 한정자를 정의하는 데 사용됩니다. 이 매개 변수는 다음 값 중 하나로 설정해야 합니다.

의미
CVR_SEEK_EQ
같음
CVR_SEEK_LE
작거나 같음
CVR_SEEK_LT
보다 작음
CVR_SEEK_GE
크거나 같음
CVR_SEEK_GT
보다 큼

[in] SortOrder

열의 정렬 순서를 지정합니다. 제한이 0개 또는 1개인 인덱싱된 열에는 정렬 순서의 CVR_SORT_ASCEND 또는 CVR_SORT_DESCEND 포함될 수 있습니다. 인덱스되지 않은 열 또는 두 개 이상의 제한이 있는 열은 CVR_SORT_NONE 사용해야 합니다.

의미
CVR_SORT_ASCEND
오름차순
CVR_SORT_DESCEND
내림차순
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 포함)
라이브러리 Certidl.lib
DLL Certadm.dll

추가 정보

ICertView

ICertView2

ICertView::OpenConnection

ICertView::OpenView

ICertView::SetResultColumn

IEnumCertViewColumn::IsIndexed