Partager via


IRP_MJ_CREATE

Chaque pilote en mode noyau doit gérer IRP_MJ_CREATE demandes dans une fonction de rappel DRIVER_DISPATCH .

Date d’envoi

Le système d’exploitation envoie une IRP_MJ_CREATE demande d’ouverture d’un handle à un objet de fichier ou à un objet d’appareil. Par exemple, lorsqu’un pilote appelle ZwCreateFile, le système d’exploitation envoie une demande de IRP_MJ_CREATE pour effectuer l’opération d’ouverture réelle.

Paramètres d’entrée

Le membre Parameters.Create.SecurityContext pointe vers une structure IO_SECURITY_CONTEXT qui décrit le contexte de sécurité de la demande. Le membre Parameters.Create.SecurityContext-DesiredAccess> est un masque d’accès qui spécifie les droits d’accès demandés par l’appelant.

Le membre Parameters.Create.Options est une valeur ULONG qui décrit les options utilisées lors de l’ouverture du handle. Les 8 bits élevés correspondent à la valeur du paramètre CreateDisposition de ZwCreateFile, et les 24 bits inférieurs correspondent à la valeur du paramètre CreateOptions de ZwCreateFile.

Le membre Parameters.Create.ShareAccess est une valeur USHORT qui décrit le type d’accès au partage. Cette valeur correspond à la valeur du paramètre ShareAccess de ZwCreateFile.

Les membres Parameters.Create.FileAttributes et Parameters.Create.EaLength sont réservés aux systèmes de fichiers et aux pilotes de filtre de système de fichiers. Pour plus d’informations, consultez la rubrique IRP_MJ_CREATE dans la documentation IFS (Installable File System).

Paramètres de sortie

None

Opération

La plupart des pilotes d’appareil et intermédiaires définissent STATUS_SUCCESS dans le bloc d’E/S status de l’IRP et terminent la demande de création, mais les pilotes peuvent éventuellement utiliser leur fonction de rappel DRIVER_DISPATCH pour réserver des ressources pour toutes les demandes d’E/S ultérieures pour ce handle. Par exemple, le pilote série système mappe son code paginé et alloue toutes les ressources nécessaires pour gérer les demandes d’E/S suivantes pour le thread en mode utilisateur qui tente d’ouvrir l’appareil pour l’entrée et la sortie.

Spécifications

En-tête

Wdm.h (inclure Wdm.h, Ntddk.h ou Ntifs.h)

Voir aussi

DRIVER_DISPATCH

DispatchCreateClose

IO_SECURITY_CONTEXT

ZwCreateFile