Freigeben über


IRP_MJ_CREATE

Jeder Kernelmodustreiber muss IRP_MJ_CREATE Anforderungen in einer DRIVER_DISPATCH Rückruffunktion verarbeiten.

Sendebedingungen

Das Betriebssystem sendet eine IRP_MJ_CREATE Anforderung zum Öffnen eines Handles an ein Datei- oder Geräteobjekt. Wenn beispielsweise ein Treiber ZwCreateFile aufruft, sendet das Betriebssystem eine IRP_MJ_CREATE Anforderung zum Ausführen des tatsächlichen geöffneten Vorgangs.

Eingabeparameter

Das Parameters.Create.SecurityContext-Member verweist auf eine IO_SECURITY_CONTEXT-Struktur , die den Sicherheitskontext für die Anforderung beschreibt. Das Parameters.Create.SecurityContext-DesiredAccess-Member> ist eine Zugriffsmaske, die die Zugriffsrechte angibt, die vom Aufrufer angefordert werden.

Der Parameter.Create.Options-Member ist ein ULONG-Wert, der die Optionen beschreibt, die beim Öffnen des Handle verwendet werden. Die hohen 8 Bits entsprechen dem Wert des CreateDisposition-Parameters von ZwCreateFile, und die niedrigen 24 Bits entsprechen dem Wert des CreateOptions-Parameters von ZwCreateFile.

Das Parameters.Create.ShareAccess-Element ist ein USHORT-Wert, der den Typ des Freigabezugriffs beschreibt. Dieser Wert entspricht dem Wert des ShareAccess-Parameters von ZwCreateFile.

Die Parameter.Create.FileAttributes - und Parameters.Create.EaLength-Member sind für die Verwendung durch Dateisysteme und Dateisystemfiltertreiber reserviert. Weitere Informationen finden Sie im Thema IRP_MJ_CREATE in der Dokumentation zum Installierbaren Dateisystem (IFS).

Ausgabeparameter

Keine

Vorgang

Die meisten Geräte- und Zwischentreiber legen STATUS_SUCCESS im E/A-status-Block des IRP fest und schließen die Erstellungsanforderung ab. Treiber können jedoch optional ihre DRIVER_DISPATCH Rückruffunktion verwenden, um Ressourcen für nachfolgende E/A-Anforderungen für dieses Handle zu reservieren. Der serielle Systemtreiber ordnet z. B. den ausgelagerten Code zu und weist alle Ressourcen zu, die zum Verarbeiten nachfolgender E/A-Anforderungen für den Benutzermodusthread erforderlich sind, der versucht, das Gerät für die Eingabe und Ausgabe zu öffnen.

Anforderungen

Header

Wdm.h (einschließlich Wdm.h, Ntddk.h oder Ntifs.h)

Weitere Informationen

DRIVER_DISPATCH

DispatchCreateClose

IO_SECURITY_CONTEXT

ZwCreateFile