BuildExplicitAccessWithNameA 함수(aclapi.h)

BuildExplicitAccessWithName 함수는 호출자가 지정한 데이터를 사용하여 EXPLICIT_ACCESS 구조를 초기화합니다. 트러스티는 이름 문자열로 식별됩니다.

구문

void BuildExplicitAccessWithNameA(
  [in, out]      PEXPLICIT_ACCESS_A pExplicitAccess,
  [in, optional] LPSTR              pTrusteeName,
  [in]           DWORD              AccessPermissions,
  [in]           ACCESS_MODE        AccessMode,
  [in]           DWORD              Inheritance
);

매개 변수

[in, out] pExplicitAccess

초기화할 EXPLICIT_ACCESS 구조체에 대한 포인터입니다. BuildExplicitAccessWithName 함수는 메모리를 할당하지 않습니다. 이 매개 변수는 NULL일 수 없습니다.

[in, optional] pTrusteeName

TRUSTEE 구조체의 ptstrName 멤버에 대한 트러스티 이름이 포함된 null로 끝나는 문자열에 대한 포인터입니다. BuildExplicitAccessWithName 함수는 TRUSTEE 구조체의 다른 멤버를 다음과 같이 설정합니다.

의미
pMultipleTrustee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
TrusteeForm
TRUSTEE_IS_NAME
TrusteeType
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

EXPLICIT_ACCESS 구조체의 grfAccessPermissions 멤버에 대한 액세스 마스크를 지정합니다. 마스크는 ACCESS_MASK 형식을 사용하여 ACE 가 트러스티에 대해 허용, 거부 또는 감사하는 액세스 권한을 지정하는 비트 플래그 집합입니다. EXPLICIT_ACCESS 구조를 사용하는 함수는 이 마스크의 비트를 변환, 해석 또는 유효성 검사하지 않습니다.

[in] AccessMode

EXPLICIT_ACCESS 구조체의 grfAccessMode 멤버에 대한 액세스 모드를 지정합니다. 액세스 모드는 ACE( 액세스 제어 항목 )가 지정된 권한을 허용, 거부 또는 감사하는지 여부를 나타냅니다. DACL( 임의 액세스 제어 목록 )의 경우 이 매개 변수는 ACCESS_MODE 열거형의 값 중 하나일 수 있습니다. SACL( 시스템 액세스 제어 목록 )의 경우 이 매개 변수는 ACCESS_MODE 값의 조합일 수 있습니다.

[in] Inheritance

EXPLICIT_ACCESS 구조체의 grfInheritance 멤버에 대한 상속 형식을 지정합니다. 이 값은 다른 컨테이너 또는 개체가 ACL 이 연결된 기본 개체에서 ACE를 상속할 수 있는지 여부를 결정하는 비트 플래그 집합입니다. 이 멤버의 값은 ACE_HEADER 구조체의 AceFlags 멤버의 상속 부분(하위 바이트)에 해당합니다. 이 매개 변수는 ACE를 상속할 수 없거나 다음 값의 조합일 수 있음을 나타내기 위해 NO_INHERITANCE 수 있습니다.

의미
CONTAINER_INHERIT_ACE
기본 개체에 포함된 다른 컨테이너는 ACE를 상속합니다.
INHERIT_ONLY_ACE
ACE는 ACL이 연결된 기본 개체에는 적용되지 않지만 주 개체에 포함된 개체는 ACE를 상속합니다.
NO_PROPAGATE_INHERIT_ACE
OBJECT_INHERIT_ACE 및 CONTAINER_INHERIT_ACE 플래그는 상속된 ACE로 전파되지 않습니다.
OBJECT_INHERIT_ACE
기본 개체에 포함된 비컨테이너 개체는 ACE를 상속합니다.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
기본 개체에 포함된 컨테이너 및 비컨테이너 개체는 모두 ACE를 상속합니다. 이 플래그는 CONTAINER_INHERIT_ACE 및 OBJECT_INHERIT_ACE 플래그의 조합에 해당합니다.
SUB_CONTAINERS_ONLY_INHERIT
기본 개체에 포함된 다른 컨테이너는 ACE를 상속합니다. 이 플래그는 CONTAINER_INHERIT_ACEINHERIT_ONLY_ACE 플래그의 조합에 해당합니다.
SUB_OBJECTS_ONLY_INHERIT
기본 개체에 포함된 비컨테이너 개체는 ACE를 상속합니다. 이 플래그는 OBJECT_INHERIT_ACEINHERIT_ONLY_ACE 플래그의 조합에 해당합니다.

반환 값

없음

설명

참고

aclapi.h 헤더는 BUILDExplicitAccessWithName을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 aclapi.h
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

에이스

ACL

Access Control 개요

기본 Access Control 함수

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

트러스티