Compartir a través de


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)

Consulte también

ACCESS_MASK

ObjectPreCallback