[仅适用于 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 成员。 它还将结构的 类型 成员设置为 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 | 任何级别 |