IRP_MJ_CREATE

每个内核模式驱动程序都必须处理 DRIVER_DISPATCH 回调函数中的 IRP_MJ_CREATE 请求。

发送时

操作系统发送 IRP_MJ_CREATE 请求,以打开文件对象或设备对象的句柄。 例如,当驱动程序调用 ZwCreateFile 时,操作系统会发送 IRP_MJ_CREATE 请求以执行实际打开操作。

输入参数

Parameters.Create.SecurityContext 成员指向描述请求安全上下文的IO_SECURITY_CONTEXT结构。 Parameters.Create.SecurityContext-DesiredAccess> 成员是一个访问掩码,用于指定调用方请求的访问权限。

Parameters.Create.Options 成员是一个 ULONG 值,用于描述打开句柄时使用的选项。 高 8 位对应于 ZwCreateFileCreateDisposition 参数的值,低 24 位对应于 ZwCreateFileCreateOptions 参数的值。

Parameters.Create.ShareAccess 成员是描述共享访问类型的 USHORT 值。 此值对应于 ZwCreateFileShareAccess 参数的值。

Parameters.Create.FileAttributesParameters.Create.EaLength 成员保留供文件系统和文件系统筛选器驱动程序使用。 有关详细信息,请参阅可安装文件系统 ( IFS) 文档中的 IRP_MJ_CREATE 主题。

输出参数

Operation

大多数设备和中间驱动程序在 IRP 的 I/O 状态块中设置STATUS_SUCCESS并完成创建请求,但驱动程序可以选择使用其 DRIVER_DISPATCH 回调函数为该句柄的任何后续 I/O 请求保留资源。 例如,系统串行驱动程序映射其分页代码,并为尝试打开设备进行输入和输出的用户模式线程分配处理后续 I/O 请求所需的任何资源。

要求

标头

Wdm.h(包括 Wdm.h、Ntddk.h 或 Ntifs.h)

另请参阅

DRIVER_DISPATCH

DispatchCreateClose

IO_SECURITY_CONTEXT

ZwCreateFile