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) |