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 사용자 모드 WriteProcessMemoryVirtualProtectEx 루틴을 호출하는 등 프로세스의 주소 공간을 수정합니다.
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 사용자 모드 SetThreadAffinityMaskSetThreadPriorityBoost 루틴을 호출하는 등 제한된 스레드 설정 집합을 수정합니다.
THREAD_SET_THREAD_TOKEN 사용자 모드 SetTokenInformation 루틴을 호출하는 등 스레드의 가장 토큰 속성을 수정합니다.
THREAD_SUSPEND_RESUME 사용자 모드 SuspendThreadResumeThread 루틴을 호출하는 등 스레드를 일시 중단하거나 다시 시작합니다.
THREAD_TERMINATE 사용자 모드 TerminateThread 루틴을 호출하는 등 스레드를 종료합니다.

OriginalDesiredAccess

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

설명

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

요구 사항

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

추가 정보

ACCESS_MASK

ObjectPreCallback