Share via


IRP_MJ_CREATE

Cada controlador en modo kernel debe controlar IRP_MJ_CREATE solicitudes en una función de devolución de llamada DRIVER_DISPATCH .

Cuándo se envió

El sistema operativo envía una solicitud de IRP_MJ_CREATE para abrir un identificador en un objeto de archivo o en un objeto de dispositivo. Por ejemplo, cuando un controlador llama a ZwCreateFile, el sistema operativo envía una solicitud de IRP_MJ_CREATE para realizar la operación de apertura real.

Parámetros de entrada

El miembro Parameters.Create.SecurityContext apunta a una estructura de IO_SECURITY_CONTEXT que describe el contexto de seguridad de la solicitud. El miembro Parameters.Create.SecurityContext-DesiredAccess> es una máscara de acceso que especifica los derechos de acceso solicitados por el autor de la llamada.

El miembro Parameters.Create.Options es un valor ULONG que describe las opciones que se usan al abrir el identificador. Los 8 bits altos corresponden al valor del parámetro CreateDisposition de ZwCreateFile y los 24 bits bajos corresponden al valor del parámetro CreateOptions de ZwCreateFile.

El miembro Parameters.Create.ShareAccess es un valor de USHORT que describe el tipo de acceso a recursos compartidos. Este valor corresponde al valor del parámetro ShareAccess de ZwCreateFile.

Los miembros Parameters.Create.FileAttributes y Parameters.Create.EaLength están reservados para que los usen los sistemas de archivos y los controladores de filtro del sistema de archivos. Para obtener más información, vea el tema IRP_MJ_CREATE en la documentación del sistema de archivos instalable (IFS).

Parámetros de salida

None

Operación

La mayoría de los controladores intermedios y de dispositivo establecen STATUS_SUCCESS en el bloque de estado de E/S del IRP y completan la solicitud de creación, pero los controladores pueden usar opcionalmente su función de devolución de llamada DRIVER_DISPATCH para reservar recursos para las solicitudes de E/S posteriores para ese identificador. Por ejemplo, el controlador serie del sistema asigna su código paginado y asigna los recursos necesarios para controlar las solicitudes de E/S posteriores para el subproceso en modo de usuario que intenta abrir el dispositivo para la entrada y salida.

Requisitos

Encabezado

Wdm.h (incluya Wdm.h, Ntddk.h o Ntifs.h)

Consulte también

DRIVER_DISPATCH

DispatchCreateClose

IO_SECURITY_CONTEXT

ZwCreateFile