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 位會對應至ZwCreateFile的CreateDisposition參數值,而低 24 位則對應至ZwCreateFile的CreateOptions參數值。
Parameters.Create.ShareAccess成員是描述共用存取類型的 USHORT 值。 這個值會對應至ZwCreateFile的ShareAccess參數值。
Parameters.Create.FileAttributes和Parameters.Create.EaLength成員會保留供檔案系統和檔案系統篩選驅動程式使用。 如需詳細資訊,請參閱可安裝檔案系統 (IFS) 檔中的 IRP_MJ_CREATE 主題。
輸出參數
無
作業
大部分的裝置和中繼驅動程式會在 IRP 的 I/O 狀態欄塊中設定STATUS_SUCCESS,並完成建立要求,但驅動程式可以選擇性地使用其 DRIVER_DISPATCH 回呼函式來保留該控制碼後續 I/O 要求的資源。 例如,系統序列驅動程式會對應其分頁化程式碼,並配置處理使用者模式執行緒後續 I/O 要求所需的任何資源,而該執行緒會嘗試開啟裝置以進行輸入和輸出。
規格需求
標頭 |
Wdm.h (包括 Wdm.h、Ntddk.h 或 Ntifs.h) |