다음을 통해 공유


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로 설정되고 마스크가 부여된 표준 및 특정 권한을 포함하도록 업데이트됩니다. pbAccessStatusFALSE로 설정된 경우 이 매개 변수는 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

추가 정보

그룹 정책 함수

그룹 정책 개요

RSoPFileAccessCheck