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;
}
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
標頭 | wdfiotarget.h (包含 Wdf.h) |
IRQL | 任何層級 |
另請參閱
WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME