estructura OB_PRE_CREATE_HANDLE_INFORMATION (wdm.h)
La estructura OB_PRE_CREATE_HANDLE_INFORMATION proporciona información a una rutina ObjectPreCallback sobre un subproceso o identificador de proceso que se está abriendo.
Sintaxis
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
ACCESS_MASK DesiredAccess;
ACCESS_MASK OriginalDesiredAccess;
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;
Miembros
DesiredAccess
Valor ACCESS_MASK que especifica los derechos de acceso que se van a conceder para el identificador. De forma predeterminada, este miembro es igual a OriginalDesiredAccess, pero la rutina ObjectPreCallback puede modificar este valor para restringir el acceso concedido.
Los controladores pueden usar las marcas siguientes para controlar los procesos:
Marca | Operaciones permitidas |
---|---|
PROCESS_CREATE_PROCESS | Cree un nuevo proceso secundario del proceso. |
PROCESS_CREATE_THREAD | Cree un subproceso en el contexto del proceso. |
PROCESS_DUP_HANDLE | Identificadores duplicados hacia o desde el contexto del proceso, como llamando a la rutina DuplicateHandle en modo de usuario. |
PROCESS_SET_QUOTA | Establezca el tamaño del conjunto de trabajo para el proceso, por ejemplo, llamando a la rutina SetProcessWorkingSetSize en modo de usuario. |
PROCESS_SET_INFORMATION | Modifique la configuración del proceso, por ejemplo, llamando a la rutina SetPriorityClass en modo de usuario. |
PROCESS_SUSPEND_RESUME | Suspenda o reanude el proceso. |
PROCESS_TERMINATE | Finalice el proceso, como llamando a la rutina TerminateProcess en modo de usuario. |
PROCESS_VM_OPERATION | Modifique el espacio de direcciones del proceso, por ejemplo, llamando a las rutinas WriteProcessMemory y VirtualProtectEx en modo de usuario. |
PROCESS_VM_WRITE | Escriba en el espacio de direcciones del proceso, por ejemplo, llamando a la rutina WriteProcessMemory en modo de usuario. |
Los controladores pueden usar las marcas siguientes para identificadores en subprocesos:
Marca | Operaciones permitidas |
---|---|
THREAD_DIRECT_IMPERSONATION | Habilite un subproceso de servidor para suplantar a uno de sus clientes. |
THREAD_IMPERSONATE | Suplantar el token de inicio de sesión anónimo del sistema operativo, por ejemplo, llamando a la rutina ImpersonateAnonymousToken en modo de usuario. |
THREAD_SET_CONTEXT | Modifique el contexto de ejecución del subproceso, por ejemplo, llamando a la rutina SetThreadContext en modo de usuario. |
THREAD_SET_INFORMATION | Modifique la configuración del subproceso, por ejemplo, llamando a la rutina SetThreadIdealProcessor en modo de usuario. Las operaciones permitidas por este derecho de acceso son un superconjunto de los permitidos por el derecho de acceso THREAD_SET_LIMITED_INFORMATION. |
THREAD_SET_LIMITED_INFORMATION | Modifique un conjunto limitado de configuraciones de subprocesos, como llamando a las rutinas SetThreadAffinityMask y SetThreadPriorityBoost en modo de usuario. |
THREAD_SET_THREAD_TOKEN | Modifique las propiedades del token de suplantación del subproceso, como llamando a la rutina SetTokenInformation en modo de usuario. |
THREAD_SUSPEND_RESUME | Suspenda o reanude el subproceso, por ejemplo, llamando a las rutinas SuspendThread y ResumeThread en modo de usuario. |
THREAD_TERMINATE | Finalice el subproceso, por ejemplo, llamando a la rutina TerminateThread en modo de usuario. |
OriginalDesiredAccess
Valor ACCESS_MASK que especifica el acceso original solicitado para el identificador.
Comentarios
Nunca puede agregar derechos de acceso más allá de lo que se especifica en el miembro DesiredAccess . Si el derecho de acceso aparece como una marca modificable, se puede quitar el derecho de acceso.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Server 2008 y versiones posteriores del sistema operativo Windows. |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |