Share via


ICertAdmin2::GetCAPropertyFlags 메서드(certadm.h)

GetCAPropertyFlags 메서드는 CA(인증 기관) 속성에 대한 속성 플래그를 검색합니다. 이 메서드는 ICertAdmin 인터페이스에서 처음 정의되었습니다.

속성 플래그를 검사하여 데이터 형식을 확인하고 속성이 인덱싱되는지 여부를 확인할 수 있습니다.

구문

HRESULT GetCAPropertyFlags(
  [in]  const BSTR strConfig,
  [in]  LONG       PropId,
  [out] LONG       *pPropFlags
);

매개 변수

[in] strConfig

COMPUTERNAME\CANAME 형식의 CA에 대한 유효한 구성 문자열을 나타냅니다. 여기서 COMPUTERNAME은 인증서 서비스 서버의 네트워크 이름이고 CANAME는 인증서 서비스 설정 중에 입력한 대로 CA의 일반 이름입니다. 구성 문자열 이름에 대한 자세한 내용은 ICertConfig를 참조하세요.

중요GetCAPropertyFlags 는 구성 문자열이 변경되면 내부 캐시를 지우지 않습니다. CA에 대한 구성 문자열을 변경하는 경우 새 ICertAdmin 개체를 인스턴스화하고 새 구성 문자열을 사용하여 이 메서드를 다시 호출해야 합니다.
 

[in] PropId

속성 식별자를 지정합니다. 이 매개 변수에 대한 자세한 내용은 ICertAdmin2::GetCAProperty의 테이블을 참조하세요.

[out] pPropFlags

속성 플래그를 나타내는 값에 대한 포인터입니다.

반환 값

C++

반환 값은 HRESULT입니다. S_OK 값은 메서드가 성공했음을 나타냅니다.

VB

속성 플래그를 나타내는 Long 입니다.

설명

이 메서드를 호출하여 검색된 LONG 값을 검사하여 데이터 형식 및 인덱싱된 상태 확인할 수 있습니다. 데이터 형식 및 인덱싱된 상태 확인하려면 각각 PROPTYPE_MASK 및 PROPFLAGS_INDEXED 값을 사용합니다.

예제

다음 예제에서는 ICertAdmin2 인터페이스 포인터가 유효하다고 가정합니다.

BSTR bstrCA = NULL;
LONG nFlags;  // Variable to contain the property flags.

bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
    printf("Failed to allocate memory for bstrCA\n");
    exit(1);
}

// Retrieve a property's flags.
hr = pCertAdmin2->GetCAPropertyFlags(bstrCA,
                                     CR_PROP_EXITCOUNT,
                                     &nFlags);
if (FAILED(hr))
{
    printf("Failed GetCAPropertyFlags\n");
    SysFreeString(bstrCA);
    exit(1);  // Or other error action.
}
// Display the property data type.
switch (nFlags & PROPTYPE_MASK)
{
    case PROPTYPE_BINARY:
        printf("Type is BINARY\n");
        break;
    case PROPTYPE_DATE:
        printf("Type is DATE\n");
        break;
    case PROPTYPE_LONG:
        printf("Type is LONG\n");
        break;
    case PROPTYPE_STRING:
        printf("Type is STRING\n");
        break;
    default:
        printf("Unexpected data type.\n");
        break;
}
// Display the property's indexed status.
printf("Property %s indexed\n", 
       nFlags & PROPFLAGS_INDEXED ? "is" : "is not");

SysFreeString(bstrCA);

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certadm.h(Certsrv.h 포함)
라이브러리 Certidl.lib
DLL Certadm.dll