WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME函数 (wdfiotarget.h)
[适用于 KMDF 和 UMDF]
WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME 函数初始化驱动程序的 WDF_IO_TARGET_OPEN_PARAMS 结构,以便驱动程序可以通过指定设备、文件或设备接口的名称来打开 I/O 目标。 如果提供的名称不存在,操作系统将尝试创建它。
语法
void WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
[out] PWDF_IO_TARGET_OPEN_PARAMS Params,
[in] PCUNICODE_STRING TargetDeviceName,
[in] ACCESS_MASK DesiredAccess
);
参数
[out] Params
指向驱动程序分配 的WDF_IO_TARGET_OPEN_PARAMS 结构的指针,该结构由函数初始化。
[in] TargetDeviceName
WDF_IO_TARGET_OPEN_PARAMS 结构的 TargetDeviceName 成员的值。
[in] DesiredAccess
WDF_IO_TARGET_OPEN_PARAMS 结构的 DesiredAccess 成员的值。
返回值
无
备注
如果 TargetDeviceName 指定已存在的文件的名称,则系统将替换现有文件。 如果该文件不存在,系统会创建它。
WDF_IO_TARGET_OPEN_PARAMS 结构用作 WdfIoTargetOpen 方法的输入。
KMDF WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME函数初始化指定WDF_IO_TARGET_OPEN_PARAMS结构的 Size、Type、TargetDeviceName、DesiredAccess 和 CreateOptions 成员。
UMDF WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME函数初始化指定WDF_IO_TARGET_OPEN_PARAMS结构的 Size、Type、DesiredAccess 和 TargetDeviceName 成员。 它将 ShareAccess 成员设置为零。 它还将 FileAttributes 成员设置为 FILE_ATTRIBUTE_NORMAL。
有关 I/O 目标的详细信息,请参阅 使用 I/O 目标。
示例
下面的代码示例创建一个 I/O 目标对象,并通过指定文件名打开一个目标。
UNICODE_STRING fileName;
RtlInitUnicodeString(
&fileName,
(PCWSTR)PROTOCOL_INTERFACE_NAME
);
status = WdfIoTargetCreate(
Adapter->WdfDevice,
WDF_NO_OBJECT_ATTRIBUTES,
&Adapter->IoTarget
);
if (!NT_SUCCESS(status)) {
DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", status));
return status;
}
WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
&openParams,
&fileName,
STANDARD_RIGHTS_ALL
);
status = WdfIoTargetOpen(
Adapter->IoTarget,
&openParams
);
if (!NT_SUCCESS(status)) {
DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", status));
return status;
}
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfiotarget.h (包括 Wdf.h) |
IRQL | 任何级别 |
另请参阅
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE