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) |