RsopAccessCheckByType 함수(userenv.h)
RSoPAccessCheckByType 함수는 보안 설명자가 RSOPTOKEN으로 식별된 클라이언트에 지정된 액세스 권한 집합을 부여하는지 여부를 결정합니다.
구문
USERENVAPI HRESULT RsopAccessCheckByType(
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in] PSID pPrincipalSelfSid,
[in] PRSOPTOKEN pRsopToken,
[in] DWORD dwDesiredAccessMask,
[in] POBJECT_TYPE_LIST pObjectTypeList,
[in] DWORD ObjectTypeListLength,
[in] PGENERIC_MAPPING pGenericMapping,
[in] PPRIVILEGE_SET pPrivilegeSet,
[in] LPDWORD pdwPrivilegeSetLength,
[out] LPDWORD pdwGrantedAccessMask,
[out] LPBOOL pbAccessStatus
);
매개 변수
[in] pSecurityDescriptor
개체에 대한 액세스가 선택되는 SECURITY_DESCRIPTOR 대한 포인터입니다.
[in] pPrincipalSelfSid
SID에 대한 포인터입니다. 보안 설명자가 보안 주체를 나타내는 개체(예: 사용자 개체)와 연결된 경우 이 매개 변수는 개체의 SID여야 합니다. 액세스를 평가할 때 이 SID는 잘 알려진 PRINCIPAL_SELF SID("S-1-5-10")를 포함하는 ACE의 SID를 논리적으로 대체합니다. 자세한 내용은 보안 식별자 및 잘 알려진 SID를 참조하세요.
보호된 개체가 보안 주체를 나타내지 않는 경우 이 매개 변수는 NULL 이어야 합니다.
[in] pRsopToken
개체에 대한 액세스 권한을 얻으려고 시도하는 클라이언트를 나타내는 유효한 RSOPTOKEN 에 대한 포인터입니다.
[in] dwDesiredAccessMask
검사 대한 액세스 권한을 나타내는 액세스 마스크를 지정합니다. 이 마스크는 일반, 표준 및 특정 액세스 권한의 조합을 포함할 수 있습니다. 자세한 내용은 액세스 권한 및 액세스 마스크를 참조하세요.
[in] pObjectTypeList
액세스를 검사 개체 형식의 계층 구조를 식별하는 OBJECT_TYPE_LIST 구조체 배열에 대한 포인터입니다. 배열의 각 요소는 개체 형식을 식별하는 GUID 와 개체 형식의 계층 구조에서 개체 형식의 수준을 나타내는 값을 지정합니다. 배열에는 동일한 GUID를 가진 두 개의 요소가 없어야 합니다.
배열에는 하나 이상의 요소가 있어야 합니다. 배열의 첫 번째 요소는 수준 0이어야 하며 개체 자체를 식별해야 합니다. 배열에는 하나의 수준 0 요소만 있을 수 있습니다. 두 번째 요소는 수준 1의 속성 집합과 같은 하위 개체입니다. 각 수준 1 항목 다음에는 수준 2~4 하위 개체에 대한 하위 항목이 있습니다. 따라서 배열의 요소 수준은 {0, 1, 2, 2, 1, 2, 3}일 수 있습니다. 개체 형식 목록이 순서를 벗어나면 RSoPAccessCheckByType 이 실패하고 GetLastError가ERROR_INVALID_PARAMETER 반환합니다.
[in] ObjectTypeListLength
pObjectTypeList 배열의 요소 수를 지정합니다.
[in] pGenericMapping
액세스가 검사되는 개체와 연결된 GENERIC_MAPPING 구조체에 대한 포인터입니다.
[in] pPrivilegeSet
이 매개 변수는 현재 사용되지 않습니다.
[in] pdwPrivilegeSetLength
이 매개 변수는 현재 사용되지 않습니다.
[out] pdwGrantedAccessMask
부여된 액세스 권한을 받는 액세스 마스크 에 대한 포인터입니다.
함수가 성공하면 pbAccessStatus 매개 변수가 TRUE로 설정되고 마스크가 부여된 표준 및 특정 권한을 포함하도록 업데이트됩니다. pbAccessStatus가 FALSE로 설정된 경우 이 매개 변수는 0으로 설정됩니다. 함수가 실패하면 마스크가 수정되지 않습니다.
[out] pbAccessStatus
액세스 검사 결과를 수신하는 변수에 대한 포인터입니다.
함수가 성공하고 요청된 액세스 권한 집합이 부여되면 이 매개 변수는 TRUE로 설정됩니다. 그렇지 않으면 이 매개 변수가 FALSE로 설정됩니다. 함수가 실패하면 상태 수정되지 않습니다.
반환 값
함수가 성공하면 반환 값이 S_OK. 그렇지 않으면 함수는 플랫폼 SDK 헤더 파일 WinError.h에 정의된 COM 오류 코드 중 하나를 반환합니다.
설명
RSoPAccessCheckByType 함수는 지정된 보안 설명자를 지정된 RSOPTOKEN과 비교하고 pbAccessStatus 매개 변수에서 액세스 권한이 부여되었는지 아니면 거부되는지를 나타냅니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | userenv.h |
라이브러리 | Userenv.lib |
DLL | Userenv.dll |