在 Windows 设备驱动程序中:
- 每个驱动程序的信息存储在全局变量中
- 每个设备的信息存储在
DEVICE_OBJECT.DeviceExtension
据我了解, a在内核空间中CreateFile
构造 a FILE_OBJECT
,因此设备的每个打开实例都有自己的FILE_OBJECT
. 如果是这样,我可以将每个实例的信息保留在该IO_STACK_LOCATION.FileObject.FsContext
字段中吗?
在 Windows 设备驱动程序中:
DEVICE_OBJECT.DeviceExtension
据我了解, a在内核空间中CreateFile
构造 a FILE_OBJECT
,因此设备的每个打开实例都有自己的FILE_OBJECT
. 如果是这样,我可以将每个实例的信息保留在该IO_STACK_LOCATION.FileObject.FsContext
字段中吗?
阅读MSDN 页面的 FsContext 说明,对于 FDO 来说是,对于其他类型的驱动程序来说是否。
注意:你实现自己的 IRP_MJ_CREATE 函数吗?如果是,您可以使用该成员,因为您是文件对象的创建者。