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结构的 SizeTypeTargetDeviceObject 成员。

通常,驱动程序在驱动程序调用 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

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen