structure OB_PRE_CREATE_HANDLE_INFORMATION (wdm.h)
La structure OB_PRE_CREATE_HANDLE_INFORMATION fournit des informations à une routine ObjectPreCallback sur un thread ou un handle de processus en cours d’ouverture.
Syntaxe
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
ACCESS_MASK DesiredAccess;
ACCESS_MASK OriginalDesiredAccess;
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;
Membres
DesiredAccess
Valeur ACCESS_MASK qui spécifie les droits d’accès à accorder pour le handle. Par défaut, ce membre est égal à OriginalDesiredAccess, mais la routine ObjectPreCallback peut modifier cette valeur pour restreindre l’accès accordé.
Les pilotes peuvent utiliser les indicateurs suivants pour les handles aux processus :
Indicateur | Opérations autorisées |
---|---|
PROCESS_CREATE_PROCESS | Créez un processus enfant du processus. |
PROCESS_CREATE_THREAD | Créez un thread dans le contexte du processus. |
PROCESS_DUP_HANDLE | Dupliquer des handles vers ou depuis le contexte du processus, par exemple en appelant la routine DuplicateHandle en mode utilisateur. |
PROCESS_SET_QUOTA | Définissez la taille de l’ensemble de travail pour le processus, par exemple en appelant la routine SetProcessWorkingSetSize en mode utilisateur. |
PROCESS_SET_INFORMATION | Modifiez les paramètres de processus, par exemple en appelant la routine SetPriorityClass en mode utilisateur. |
PROCESS_SUSPEND_RESUME | Suspendez ou reprenez le processus. |
PROCESS_TERMINATE | Terminez le processus, par exemple en appelant la routine TerminateProcess en mode utilisateur.. |
PROCESS_VM_OPERATION | Modifiez l’espace d’adressage du processus, par exemple en appelant les routines WriteProcessMemory et VirtualProtectEx en mode utilisateur. |
PROCESS_VM_WRITE | Écrivez dans l’espace d’adressage du processus, par exemple en appelant la routine WriteProcessMemory en mode utilisateur. |
Les pilotes peuvent utiliser les indicateurs suivants pour les handles vers les threads :
Indicateur | Opérations autorisées |
---|---|
THREAD_DIRECT_IMPERSONATION | Activez un thread de serveur pour emprunter l’identité de l’un de ses clients. |
THREAD_IMPERSONATE | Empruntez l’identité du jeton d’ouverture de session anonyme du système d’exploitation, par exemple en appelant la routine ImpersonateAnonymousToken en mode utilisateur. |
THREAD_SET_CONTEXT | Modifiez le contexte d’exécution du thread, par exemple en appelant la routine SetThreadContext en mode utilisateur. |
THREAD_SET_INFORMATION | Modifiez les paramètres de thread, par exemple en appelant la routine SetThreadIdealProcessor en mode utilisateur. Les opérations autorisées par ce droit d’accès sont un sur-ensemble de celles autorisées par le droit d’accès THREAD_SET_LIMITED_INFORMATION. |
THREAD_SET_LIMITED_INFORMATION | Modifiez un ensemble limité de paramètres de thread, par exemple en appelant les routines SetThreadAffinityMask et SetThreadPriorityBoost en mode utilisateur. |
THREAD_SET_THREAD_TOKEN | Modifiez les propriétés du jeton d’emprunt d’identité du thread, par exemple en appelant la routine SetTokenInformation en mode utilisateur. |
THREAD_SUSPEND_RESUME | Suspendez ou reprenez le thread, par exemple en appelant les routines SuspendThread et ResumeThread en mode utilisateur. |
THREAD_TERMINATE | Terminez le thread, par exemple en appelant la routine TerminateThread en mode utilisateur. |
OriginalDesiredAccess
Valeur ACCESS_MASK qui spécifie l’accès d’origine demandé pour le handle.
Remarques
Vous ne pouvez jamais ajouter de droits d’accès au-delà de ce qui est spécifié dans le membre DesiredAccess . Si le droit d’accès est répertorié en tant qu’indicateur modifiable, le droit d’accès peut être supprimé.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Server 2008 et versions ultérieures du système d’exploitation Windows. |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |