[适用于 KMDF 和 UMDF]
驱动程序的 EvtDeviceFileCreate 回调函数处理应用程序请求访问设备时必须执行的作。
语法
EVT_WDF_DEVICE_FILE_CREATE EvtWdfDeviceFileCreate;
void EvtWdfDeviceFileCreate(
[in] WDFDEVICE Device,
[in] WDFREQUEST Request,
[in] WDFFILEOBJECT FileObject
)
{...}
参数
[in] Device
框架设备对象的句柄。
[in] Request
表示文件创建请求的框架请求对象的句柄。
[in] FileObject
框架文件对象的句柄,描述为指定请求打开的文件。 如果驱动程序为 WDF_FILEOBJECT_CONFIG 结构的 FileObjectClass 成员指定了 WdfFileObjectNotRequired,则此参数 NULL。
返回值
没有
言论
当用户应用程序或其他驱动程序打开设备以执行 I/O作(例如读取或写入文件)时,框架将调用驱动程序的 EvtDeviceFileCreate 回调函数。
驱动程序可以将 请求 句柄传递给 WdfRequestGetParameters 以检索与文件创建请求关联的参数。 参数存储在 Parameters.CreateWDF_REQUEST_PARAMETERS 结构的成员中。
此回调函数在打开设备的线程上下文中同步调用。
若要注册 EvtDeviceFileCreate 回调函数,驱动程序必须调用 WdfDeviceInitSetFileObjectConfig 方法。
驱动程序必须完成请求,或使用 WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET发送请求。
或者,驱动程序可以在队列中接收创建请求。 有关详细信息,请参阅 WdfDeviceConfigureRequestDispatching。
有关框架文件对象和 EvtDeviceFileCreate 回调函数的详细信息,请参阅 Framework 文件对象。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfdevice.h (包括 Wdf.h) |
IRQL | PASSIVE_LEVEL |