WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE 函数 (wdfiotarget.h)
[仅适用于 UMDF]
WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE 函数初始化驱动程序WDF_IO_TARGET_OPEN_PARAMS结构,以便驱动程序可以通过指定文件名打开 I/O 目标。
语法
void WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE(
[out] PWDF_IO_TARGET_OPEN_PARAMS Params,
[in, optional] PCUNICODE_STRING FileName
);
参数
[out] Params
指向驱动程序分配 的WDF_IO_TARGET_OPEN_PARAMS 结构的指针,该结构由函数初始化。
[in, optional] FileName
WDF_IO_TARGET_OPEN_PARAMS 结构的 FileName 成员的值。 除非较低目标支持设备命名空间访问,否则大多数驱动程序在此处指定 NULL。
返回值
无
备注
WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE函数将指定的WDF_IO_TARGET_OPEN_PARAMS结构归零并设置其 Size 成员。 它还会将结构的 Type 成员设置为 WdfIoTargetOpenLocalTargetByFile ,并在驱动程序提供文件名时设置 FileName 成员。
驱动程序可以通过调用 WdfIoTargetClose 显式关闭 I/O 目标。 如果驱动程序未显式关闭目标,框架会在删除设备时自动关闭目标, (I/O 目标默认为设备) 父级。
示例
以下代码示例演示 UMDF 驱动程序如何使用文件对象打开本地目标 ,如 WDF_IO_TARGET_OPEN_TYPE 中所述:
WDF_OBJECT_ATTRIBUTES ioTargetAttrib;
WDFIOTARGET ioTarget;
WDF_IO_TARGET_OPEN_PARAMS openParams;
//
// Create target
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&ioTargetAttrib, TARGET_DEVICE_INFO);
status = WdfIoTargetCreate(device, &ioTargetAttrib, &ioTarget);
if (!NT_SUCCESS(status)) {
return status;
}
//
// Open target
//
WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE(&openParams, NULL);
status = WdfIoTargetOpen(ioTarget, &openParams);
if (!NT_SUCCESS(status)) {
WdfObjectDelete(ioTarget);
return status;
}
//
// create a request
//
//
// Format the request for the above target
//
//
// Send request to above target
//
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 |
目标平台 | 通用 |
最低 UMDF 版本 | 2.0 |
标头 | wdfiotarget.h (包括 Wdf.h) |
IRQL | 任何级别 |