다음을 통해 공유


OB_PRE_CREATE_HANDLE_INFORMATION 구조체(wdm.h)

OB_PRE_CREATE_HANDLE_INFORMATION 구조체는 열려 있는 스레드 또는 프로세스 핸들에 대한 ObjectPreCallback 루틴에 정보를 제공합니다.

통사론

typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
  ACCESS_MASK DesiredAccess;
  ACCESS_MASK OriginalDesiredAccess;
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;

회원

DesiredAccess

핸들에 부여할 액세스 권한을 지정하는 ACCESS_MASK 값입니다. 기본적으로 이 멤버는 OriginalDesiredAccess 같지만 ObjectPreCallback 루틴은 이 값을 수정하여 부여된 액세스를 제한할 수 있습니다.

드라이버는 프로세스에 대한 핸들에 다음 플래그를 사용할 수 있습니다.

허용되는 작업
PROCESS_CREATE_PROCESS 프로세스의 새 자식 프로세스를 만듭니다.
PROCESS_CREATE_THREAD 프로세스의 컨텍스트에서 새 스레드를 만듭니다.
PROCESS_DUP_HANDLE 사용자 모드 DuplicateHandle 루틴을 호출하는 것과 같이 프로세스 컨텍스트에서 핸들을 복제합니다.
PROCESS_SET_QUOTA 사용자 모드 SetProcessWorkingSetSize 루틴을 호출하는 등 프로세스의 작업 집합 크기를 설정합니다.
PROCESS_SET_INFORMATION SetPriorityClass 루틴을 사용자 모드를 호출하는 것과 같은 프로세스 설정을 수정합니다.
PROCESS_SUSPEND_RESUME 프로세스를 일시 중단하거나 다시 시작합니다.
PROCESS_TERMINATE 사용자 모드 TerminateProcess 루틴을 호출하는 등의 프로세스를 종료합니다.
PROCESS_VM_OPERATION 사용자 모드 WriteProcessMemory 호출하고 VirtualProtectEx 루틴을 프로세스의 주소 공간을 수정합니다.
PROCESS_VM_WRITE 사용자 모드 WriteProcessMemory 루틴을 호출하는 등 프로세스의 주소 공간에 씁니다.
 

드라이버는 스레드에 대한 핸들에 다음 플래그를 사용할 수 있습니다.

허용되는 작업
THREAD_DIRECT_IMPERSONATION 서버 스레드가 해당 클라이언트 중 하나를 가장하도록 설정합니다.
THREAD_IMPERSONATE 사용자 모드 ImpersonateAnonymousToken 루틴을 호출하는 등 운영 체제의 익명 로그온 토큰을 가장합니다.
THREAD_SET_CONTEXT 사용자 모드 SetThreadContext 루틴을 호출하는 등 스레드의 실행 컨텍스트를 수정합니다.
THREAD_SET_INFORMATION 사용자 모드 SetThreadIdealProcessor 루틴을 호출하는 등의 스레드 설정을 수정합니다. 이 액세스 권한에서 허용하는 작업은 THREAD_SET_LIMITED_INFORMATION 액세스 권한에서 허용하는 작업의 상위 집합입니다.
THREAD_SET_LIMITED_INFORMATION 사용자 모드 SetThreadAffinityMask 호출하고 SetThreadPriorityBoost 루틴을 등의 제한된 스레드 설정 집합을 수정합니다.
THREAD_SET_THREAD_TOKEN 사용자 모드 SetTokenInformation 루틴을 호출하는 등 스레드의 가장 토큰 속성을 수정합니다.
THREAD_SUSPEND_RESUME 사용자 모드 SuspendThread 호출하고 ResumeThread 루틴을 스레드를 일시 중단하거나 다시 시작합니다.
THREAD_TERMINATE 사용자 모드 TerminateThread 루틴을 호출하는 등 스레드를 종료합니다.

OriginalDesiredAccess

핸들에 대해 요청된 원래 액세스를 지정하는 ACCESS_MASK 값입니다.

발언

DesiredAccess 멤버에 지정된 권한 이상으로 액세스 권한을 추가할 수 없습니다. 액세스 권한이 수정 가능한 플래그로 나열되면 액세스 권한을 제거할 수 있습니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Server 2008 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)

참고 항목

ACCESS_MASK

ObjectPreCallback