ISecurityCallContext::IsUserInRole 메서드(comsvcs.h)

지정된 사용자가 지정된 역할에 있는지 여부를 확인합니다.

구문

HRESULT IsUserInRole(
  [in]  VARIANT      *pUser,
  [in]  BSTR         bstrRole,
  [out] VARIANT_BOOL *pfInRole
);

매개 변수

[in] pUser

역할 멤버 자격을 확인할 사용자의 사용자 ID를 보유하는 값에 대한 포인터입니다. SID(보안 식별자)를 IsUserInRole에 전달하려는 경우 이 매개 변수는 다음 요구 사항을 충족해야 합니다. V_VT(pUser) == (VT_ARRAY|VT_UI1) && V_ARRAY(pUser)->cDims == 1

[in] bstrRole

역할의 이름입니다.

[out] pfInRole

사용자가 지정된 역할에 있으면 TRUE이고, 그렇지 않은 경우 FALSE입니다. 지정된 역할이 애플리케이션에 대해 정의되지 않은 경우 FALSE 가 반환됩니다. 역할 기반 보안을 사용할 수 없는 경우 이 매개 변수는 TRUE 로 설정됩니다.

반환 값

이 메서드는 다음 값뿐만 아니라 표준 반환 값 E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED 및 E_FAIL 반환할 수 있습니다.

반환 코드 설명
S_OK
bstrRole 매개 변수에 지정된 역할은 인식된 역할이며 pfIsInRole 매개 변수에 반환된 부울 결과는 사용자가 해당 역할에 있는지 여부를 나타냅니다.
CONTEXT_E_ROLENOTFOUND
bstrRole 매개 변수에 지정된 역할이 없습니다.

설명

호출자가 지정된 역할의 멤버가 아닌 한 실행해서는 안 되는 코드 섹션에 대한 액세스를 제한하려면 이 메서드를 사용합니다. Windows 그룹 및 사용자는 구성 요소 서비스 관리 도구를 사용하여 애플리케이션의 역할에 할당됩니다. 역할에 대한 자세한 내용은 역할 기반 보안을 참조하세요.

IsUserInRole은 역할 기반 보안을 사용하도록 설정하지 않은 경우 TRUE이므로 IsUserInRole을 호출하기 전에 IsSecurityEnabled를 호출하여 IsUserInRole이 유용한 정보를 반환하도록 하는 것이 좋습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 comsvcs.h

추가 정보

ISecurityCallContext

프로그래밍 방식 구성 요소 보안