Функция WdfDeviceGetIoTarget (wdfdevice.h)

[Применимо к KMDF и UMDF]

Метод WdfDeviceGetIoTarget возвращает дескриптор для локального объекта ввода-вывода драйвера фильтра для указанного устройства.

Синтаксис

WDFIOTARGET WdfDeviceGetIoTarget(
  [in] WDFDEVICE Device
);

Параметры

[in] Device

Дескриптор объекта устройства платформы.

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

Если операция выполнена успешно, WdfDeviceGetIoTarget возвращает дескриптор целевому объекту ввода-вывода платформы. Если указанный объект устройства платформы представляет объект PDO, метод возвращает значение NULL.

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Комментарии

Когда драйвер UMDF отправляет созданный драйвером запрос в локальный целевой объект ввода-вывода, запрос не имеет связанного объекта файла. Некоторые более низкие целевые объекты, такие как необработанные PDO с перечислением HIDClass, завершаются сбоем запросов, не имеющих связанного объекта файла. В этом случае драйвер UMDF может указать WdfIoTargetOpenLocalTargetByFile для создания целевого объекта ввода-вывода, представляющего нижний стек (как и локальный целевой объект) с помощью дескриптора файла. В результате все запросы, созданные драйвером, отправляемые в этот целевой объект ввода-вывода, связаны с объектом файла, соответствующим открытому дескриптором.

Для этого вызовите функцию WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE перед вызовом WdfIoTargetOpen.

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

Примеры

Следующий пример кода получает дескриптор для локального целевого объекта ввода-вывода указанного устройства.

WDFIOTARGET  ioTargetHandle;

ioTargetHandle = WdfDeviceGetIoTarget(device);

Требования

   
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Заголовок wdfdevice.h (include Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)