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;
}

規格需求

需求
目標平台 Universal
最低 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