Поделиться через


функция 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).

Синтаксис

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, которая используется в качестве значения элемента DeviceObject структуры WDF_IO_TARGET_OPEN_PARAMS.

Возвращаемое значение

Нет

Замечания

Структура WDF_IO_TARGET_OPEN_PARAMS используется в качестве входных данных для метода WdfIoTargetOpen.

Функция WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE инициализирует размера, типаи TargetDeviceObject членов указанной структуры WDF_IO_TARGET_OPEN_PARAMS.

Как правило, драйвер задает TargetFileObject член структуры WDF_IO_TARGET_OPEN_PARAMS после вызова драйвера WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE.

Дополнительные сведения о целевых объектах ввода-вывода см. в разделе Использование целевых объектов ввода-вывода.

Примеры

В следующем примере кода создается целевой объект ввода-вывода и открывается целевой объект, указав структуру DEVICE_OBJECT. Пример драйвера получает структуру DEVICE_OBJECT путем вызова NdisMGetDeviceProperty (не показан).

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 (include 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