다음을 통해 공유


SI_OBJECT_INFO 구조체(aclui.h)

SI_OBJECT_INFO 구조체는 ISecurityInformation::GetObjectInformation 메서드에서 액세스 제어 편집기를 초기화하는 데 사용되는 정보를 지정하는 데 사용됩니다.

구문

typedef struct _SI_OBJECT_INFO {
  DWORD     dwFlags;
  HINSTANCE hInstance;
  LPWSTR    pszServerName;
  LPWSTR    pszObjectName;
  LPWSTR    pszPageTitle;
  GUID      guidObjectType;
} SI_OBJECT_INFO, *PSI_OBJECT_INFO;

멤버

dwFlags

사용자가 사용할 수 있는 편집 옵션을 결정하는 비트 플래그 집합입니다. 이 멤버는 다음 값의 조합일 수 있습니다.

의미
SI_ADVANCED
0x00000010L
이 플래그를 설정하면 고급 단추가 기본 보안 속성 페이지에 표시됩니다. 사용자가 이 단추를 클릭하면 시스템에서 개체의 DACL(임의 액세스 제어 목록)을 고급 편집할 수 있는 고급 보안 속성 시트를 표시합니다.

이 플래그를 SI_EDIT_AUDITS, SI_EDIT_OWNER 및 SI_EDIT_PROPERTIES 플래그와 결합하여 개체의 SACL, 소유자 및 개체별 ACE( 액세스 제어 항목 )를 편집할 수 있습니다.

SI_AUDITS_ELEVATION_REQUIRED
0x02000000L
이 플래그를 설정하면 고급 감사 페이지의 편집 단추에 방패가 표시됩니다. NTFS 개체의 경우 사용자에게 READ_CONTROL 또는ACCESS_SYSTEM_SECURITY 액세스 권한이 없는 경우 이 플래그가 요청됩니다.

Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

SI_CONTAINER
0x00000004L
개체가 컨테이너임을 나타냅니다. 이 플래그를 설정하면 액세스 제어 편집기에서 자식 개체에 대한 사용 권한 상속과 관련된 컨트롤을 사용하도록 설정합니다.
SI_DISABLE_DENY_ACE
0x80000000L
이 플래그가 설정되면 시스템에서 ACE 거부를 사용하지 않도록 설정합니다. 액세스 제어 편집기의 클라이언트는 이 플래그를 설정하려면 ISecurityInformation4 인터페이스를 구현해야 합니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

SI_EDIT_ALL
SI_EDIT_PERMS, SI_EDIT_OWNER 및 SI_EDIT_AUDITS 플래그를 결합합니다.
SI_EDIT_AUDITS
0x00000002L
이 플래그가 설정되고 사용자가 고급 단추를 클릭하면 시스템에서 개체의 SACL을 편집 하기 위한 감사 속성 페이지 가 포함된 고급 보안 속성 시트를 표시합니다. 고급 단추를 표시하려면 SI_ADVANCED 플래그를 설정합니다.
SI_EDIT_EFFECTIVE
0x00020000L
이 플래그를 설정하면 유효 권한 페이지가 표시됩니다. 액세스 제어 편집기를 초기화한 ISecurityInformation 개체가 IEffectivePermission 인터페이스를 구현하지 않으면 이 플래그는 무시됩니다.
SI_EDIT_OWNER
0x00000001L
이 플래그가 설정되고 사용자가 고급 단추를 클릭하면 시스템에서 개체의 소유자를 변경하기 위한 소유자 속성 페이지 가 포함된 고급 보안 속성 시트를 표시합니다. 고급 단추를 표시하려면 SI_ADVANCED 플래그를 설정합니다.
SI_EDIT_PERMS
0x00000000L
이것은 기본값입니다. 기본 보안 속성 페이지에는 항상 개체의 DACL을 기본 편집하기 위한 컨트롤이 표시됩니다. 이러한 컨트롤을 사용하지 않도록 설정하려면 SI_READONLY 플래그를 설정합니다.
SI_EDIT_PROPERTIES
0x00000080L
이 플래그를 설정하면 시스템에서 개체의 속성 집합 및 속성에 적용되는 ACE를 편집할 수 있도록 제어할 수 있습니다. 이러한 컨트롤은 사용자가 고급 단추를 클릭할 때 표시되는 속성 시트에서만 사용할 수 있습니다.
SI_ENABLE_CENTRAL_POLICY
0x40000000L
이 플래그를 설정하면 시스템에서 특성을 편집할 수 있습니다. 액세스 제어 편집기의 클라이언트는 이 플래그를 설정하려면 ISecurityInformation4 인터페이스를 구현해야 합니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

SI_ENABLE_EDIT_ATTRIBUTE_CONDITION
0x20000000L
이 플래그를 설정하면 시스템에서 특성을 편집할 수 있습니다. 액세스 제어 편집기의 클라이언트는 이 플래그를 설정하려면 ISecurityInformation4 인터페이스를 구현해야 합니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

SI_MAY_WRITE
0x10000000L
액세스 제어 편집기가 DACL을 읽을 수 없지만 DACL에 쓸 수 있음을 나타냅니다. ISecurityInformation::GetSecurity 메서드를 호출하면 AccessDenied가 반환되면 사용자는 새 ACE를 추가하려고 시도할 수 있으며 더 적절한 경고가 표시됩니다.
SI_NO_ACL_PROTECT
0x00000200L
이 플래그를 설정하면 액세스 제어 편집기에서 상속 가능한 ACE가 부모 개체에서 이 개체로 전파할 수 있는 검사 상자를 숨깁니다. 이 플래그를 설정하지 않으면 검사 상자가 표시됩니다.

개체의 보안 설명자에 SE_DACL_PROTECTED 플래그가 설정되어 있으면 검사 상자가 명확합니다. 이 경우 개체의 DACL은 상속 가능한 ACE에 의해 수정되지 않도록 보호됩니다.

사용자가 검사 상자를 지우면 보안 설명자에서 상속된 모든 ACE가 삭제되거나 편집되지 않은 ACE로 변환됩니다. 이 변환을 계속하기 전에 시스템에서 변경 사항을 확인하는 경고 메시지 상자를 표시합니다.

SI_NO_ADDITIONAL_PERMISSION
0x00200000L
이 플래그를 설정하면 액세스 제어 편집기가 고급 보안 설정 페이지에서 특수 권한 탭을 숨깁니다.
SI_NO_TREE_APPLY
0x00000400L
이 플래그가 설정되면 액세스 제어 편집기는 NO_PROPAGATE_INHERIT_ACE 플래그를 제어하는 검사 상자를 숨깁니다. 이 플래그는 SI_ADVANCED 플래그도 설정된 경우에만 관련이 있습니다.
SI_OBJECT_GUID
0x00010000L
이 설정되면 SI_OBJECT_INFO 구조체의 guidObjectType 멤버가 유효하다는 것을 나타냅니다. 이는 ACE가 현재 개체에 적용되는지 여부를 결정할 때 개체별 ACE와 비교하여 설정됩니다.
SI_OWNER_ELEVATION_REQUIRED
0x04000000L
이 플래그를 설정하면 고급 소유자 페이지의 편집 단추에 방패가 표시됩니다. NTFS 개체의 경우 사용자에게 WRITE_OWNER 액세스 권한이 없는 경우 이 플래그가 요청됩니다. 이 플래그는 소유자 페이지가 요청된 경우에만 유효합니다.

Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

SI_OWNER_READONLY
0x00000040L
이 플래그를 설정하면 사용자는 개체의 소유자를 변경할 수 없습니다. SI_EDIT_OWNER 설정되었지만 사용자에게 소유자를 변경할 수 있는 권한이 없는 경우 이 플래그를 설정합니다.
SI_OWNER_RECURSE
0x00000100L
이 플래그를 SI_CONTAINER 결합하여 사용자가 모든 자식 개체와 현재 개체에 새 소유자를 적용할지 여부를 나타내는 검사 상자를 소유자 페이지에 표시합니다. 액세스 제어 편집기는 재귀를 수행하지 않습니다. ISecurityInformation::SetSecurity의 애플리케이션에서 재귀를 수행해야 합니다.
SI_PAGE_TITLE
0x00000800L
이 플래그를 설정하면 pszPageTitle 멤버가 기본 보안 속성 페이지의 제목으로 사용됩니다. 그렇지 않으면 기본 제목이 사용됩니다.
SI_PERMS_ELEVATION_REQUIRED
0x01000000L
이 플래그를 설정하면 단순 및 고급 사용 권한 페이지의 편집 단추에 방패 이미지가 표시됩니다. NTFS 개체의 경우 사용자에게 READ_CONTROL 또는 WRITE_DAC 액세스 권한이 없는 경우 이 플래그가 요청됩니다.

Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

SI_READONLY
0x00000008L
이 플래그를 설정하면 편집기에서 개체의 보안 정보를 표시하지만 정보를 편집하기 위한 컨트롤은 사용하지 않도록 설정됩니다.

이 플래그는 SI_VIEW_ONLY 플래그와 결합할 수 없습니다.

SI_RESET
0x00000020L
이 플래그를 설정하면 기본 단추가 표시됩니다. 사용자가 이 단추를 클릭하면 액세스 제어 편집기가 ISecurityInformation::GetSecurity 메서드를 호출하여 애플리케이션에서 정의한 기본 보안 설명자를 검색합니다. 액세스 제어 편집기는 이 보안 설명자를 사용하여 속성 시트를 다시 초기화하며 사용자는 변경 또는 취소를 적용할 수 있습니다.
SI_RESET_DACL
0x00040000L
설정하면 이 플래그는 사용 권한 페이지에 기본값 다시 설정 단추를 표시합니다.
SI_RESET_DACL_TREE
0x00004000L
설정되면 이 플래그는 모든 자식 개체에 대한 다시 설정 권한을 표시하고 Access Control 설정 창의 사용 권한 페이지에 상속 가능한 권한 검사 전파를 사용하도록 설정합니다. 사용자가 적용 단추를 클릭할 때 이 검사 상자를 선택하면 ISecurityInformation::SetSecurity with SI_RESET_DACL_TREE SecurityInformation 매개 변수에서 비트 OR 작업이 수행됩니다. 이 함수는 사용 권한을 다시 설정하고 상속 가능한 사용 권한을 전파할 수 없습니다. ISecurityInformation 의 구현은 이 작업을 수행해야 합니다.
SI_RESET_OWNER
0x00100000L
설정하면 이 플래그는 소유자 페이지에 기본값 다시 설정 단추를 표시합니다.
SI_RESET_SACL
0x00080000L
설정하면 이 플래그는 감사 페이지에 기본값 다시 설정 단추를 표시합니다.
SI_RESET_SACL_TREE
0x00008000L
이 플래그를 설정하면 모든 자식 개체에 대한 감사 항목 다시 설정이 표시되고 Access Control 설정 창의 감사 페이지에서 상속 가능한 감사 항목 검사 상자가 전파됩니다. 사용자가 적용 단추를 클릭할 때 이 검사 상자를 선택하면 ISecurityInformation::SetSecurity with SI_RESET_SACL_TREE SecurityInformation 매개 변수에서 비트 OR 작업이 수행됩니다. 이 함수는 사용 권한을 다시 설정하고 상속 가능한 사용 권한을 전파할 수 없습니다. ISecurityInformation 의 구현은 이 작업을 수행해야 합니다.
SI_SCOPE_ELEVATION_REQUIRED
0x08000000L
이 플래그를 설정하면 범위 특성의 변경 단추에 방패 이미지가 표시됩니다. NTFS 개체의 경우 사용자에게 READ_CONTROL 또는 WRITE_DAC 액세스 권한이 없는 경우 이 플래그가 요청됩니다. 액세스 제어 편집기의 클라이언트는 이 플래그를 설정하려면 ISecurityInformation4 인터페이스를 구현해야 합니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

SI_SERVER_IS_DC
0x00001000L
pszServerName 컴퓨터가 도메인 컨트롤러로 알려진 경우 이 플래그를 설정합니다. 이 플래그를 설정하면 도메인 이름이 사용자 및 그룹 추가 대화 상자의 scope 목록에 포함됩니다. 그렇지 않으면 pszServerName 컴퓨터를 사용하여 대화 상자의 scope 목록을 확인합니다.
SI_VIEW_ONLY
0x00400000L
이 플래그는 액세스 제어 편집기 클라이언트에서 액세스 제어 편집기 대화 상자의 읽기 전용 버전을 표시하도록 설정됩니다. 이러한 버전의 대화 상자에서는 연결된 개체의 사용 권한을 편집할 수 없습니다. 액세스 제어 편집기의 클라이언트는 이 플래그를 설정하려면 ISecurityInformation3 인터페이스를 구현해야 합니다.

이 플래그는 SI_READONLY 플래그와 결합할 수 없습니다.

Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다.

hInstance

속성 시트에 사용할 문자열 리소스가 포함된 모듈을 식별합니다. ISecurityInformation::GetAccessRightsISecurityInformation::GetInheritTypes 메서드는 표시 이름에 대한 문자열 리소스 식별자를 지정할 수 있습니다.

pszServerName

계정 이름 및 SID를 조회할 컴퓨터의 이름을 지정하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. 이 값은 로컬 컴퓨터를 지정하는 NULL 일 수 있습니다. 액세스 제어 편집기는 이 포인터를 해제하지 않습니다.

pszObjectName

편집 중인 개체의 이름을 지정하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. 이 이름은 고급 보안 속성 시트의 제목과 액세스 제어 편집기에서 표시하는 오류 메시지 상자에 나타납니다. 액세스 제어 편집기는 이 포인터를 해제하지 않습니다.

pszPageTitle

기본 보안 속성 페이지의 제목으로 사용되는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. dwFlags에서 SI_PAGE_TITLE 플래그를 설정하지 않으면 이 멤버는 무시됩니다. 페이지 제목이 제공되지 않으면 기본 제목이 사용됩니다. 액세스 제어 편집기는 이 포인터를 해제하지 않습니다.

guidObjectType

개체의 GUID입니다. dwFlags에서 SI_OBJECT_GUID 플래그를 설정하지 않으면 이 멤버는 무시됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 aclui.h

추가 정보

ISecurityInformation

ISecurityInformation::GetAccessRights

ISecurityInformation::GetInheritTypes

ISecurityInformation::GetObjectInformation

ISecurityInformation::GetSecurity

ISecurityInformation::SetSecurity