WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 函数 (wdfiotarget.h)
[仅适用于 KMDF]
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 函数初始化驱动程序的WDF_IO_TARGET_OPEN_PARAMS结构,以便驱动程序可以通过指定 Windows 驱动程序模型 (WDM) 设备对象来打开远程 I/O 目标。
语法
void WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
[out] PWDF_IO_TARGET_OPEN_PARAMS Params,
[in] PDEVICE_OBJECT DeviceObject
);
参数
[out] Params
指向函数初始化的驱动程序分配 WDF_IO_TARGET_OPEN_PARAMS 结构的指针。
[in] DeviceObject
指向DEVICE_OBJECT结构的指针,该结构用作 WDF_IO_TARGET_OPEN_PARAMS 结构的 DeviceObject 成员的值。
返回值
无
备注
WDF_IO_TARGET_OPEN_PARAMS 结构用作 WdfIoTargetOpen 方法的输入。
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 函数初始化指定WDF_IO_TARGET_OPEN_PARAMS结构的 Size、Type 和 TargetDeviceObject 成员。
通常,驱动程序在驱动程序调用 WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE 后设置 WDF_IO_TARGET_OPEN_PARAMS 结构的 TargetFileObject 成员。
有关 I/O 目标的详细信息,请参阅 使用 I/O 目标。
示例
下面的代码示例创建 I/O 目标对象,并通过指定DEVICE_OBJECT结构打开目标。 示例驱动程序通过调用 NdisMGetDeviceProperty 来获取DEVICE_OBJECT结构, (未) 显示。
WDF_IO_TARGET_OPEN_PARAMS openParams;
NTSTATUS ntStatus;
ntStatus = WdfIoTargetCreate(
Adapter->WdfDevice,
WDF_NO_OBJECT_ATTRIBUTES,
&Adapter->IoTarget
);
if (!NT_SUCCESS(ntStatus)) {
DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", ntStatus));
break;
}
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
&openParams,
Adapter->NextDeviceObject
);
ntStatus = WdfIoTargetOpen(Adapter->IoTarget,
&openParams);
if (!NT_SUCCESS(ntStatus)) {
DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", ntStatus));
break;
}
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfiotarget.h (包括 Wdf.h) |
IRQL | 任何级别 |
另请参阅
WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME