ISecurityCallContext::IsCallerInRole 메서드(comsvcs.h)
직접 호출자가 지정된 역할에 있는지 여부를 확인합니다.
구문
HRESULT IsCallerInRole(
[in] BSTR bstrRole,
[out] VARIANT_BOOL *pfInRole
);
매개 변수
[in] bstrRole
역할의 이름입니다.
[out] pfInRole
호출자가 지정된 역할에 있으면 TRUE이고, 그렇지 않은 경우 FALSE입니다. 지정된 역할이 애플리케이션에 대해 정의되지 않은 경우 FALSE 가 반환됩니다. 역할 기반 보안을 사용할 수 없는 경우 이 매개 변수는 TRUE 로 설정됩니다.
반환 값
이 메서드는 다음 값뿐만 아니라 표준 반환 값 E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED 및 E_FAIL 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
bstrRole 매개 변수에 지정된 역할은 인식된 역할이며 pfIsInRole 매개 변수에 반환된 부울 결과는 호출자가 해당 역할에 있는지 여부를 나타냅니다. |
|
bstrRole 매개 변수에 지정된 역할이 없습니다. |
설명
호출자가 지정된 역할의 멤버가 아닌 한 실행해서는 안 되는 코드 섹션에 대한 액세스를 제한하려면 이 메서드를 사용합니다. Windows 그룹 및 사용자는 구성 요소 서비스 관리 도구를 사용하여 애플리케이션의 역할에 할당됩니다. 역할에 대한 자세한 내용은 역할 기반 보안을 참조하세요.
IsCallerInRole 은 현재 실행 중인 메서드의 직접 호출자에만 적용됩니다. IsCallerInRole 은 현재 메서드가 호출된 호출 시퀀스의 다른 호출자에게는 적용되지 않습니다. 그러나 get_Item 속성 메서드를 사용하여 보안 호출 컨텍스트 개체의 Callers 속성을 가져와서 시퀀스에서 다른 호출자에 대한 정보를 가져올 수 있습니다.
IsCallerInRole은 역할 기반 보안을 사용하도록 설정하지 않은 경우 TRUE이므로 IsCallerInRole을 호출하기 전에 IsSecurityEnabled를 호출하여 IsCallerInRole이 유용한 정보를 반환하도록 하는 것이 좋습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | comsvcs.h |