перечисление WDF_IO_TARGET_OPEN_TYPE (wdfiotarget.h)

[Относится к KMDF и UMDF]

Перечисление WDF_IO_TARGET_OPEN_TYPE указывает, как драйвер определяет удаленный целевой объект ввода-вывода, когда драйвер вызывает WdfIoTargetOpen.

Синтаксис

typedef enum _WDF_IO_TARGET_OPEN_TYPE {
  WdfIoTargetOpenUndefined = 0,
  WdfIoTargetOpenUseExistingDevice = 1,
  WdfIoTargetOpenByName = 2,
  WdfIoTargetOpenReopen = 3,
  WdfIoTargetOpenLocalTargetByFile = 4
} WDF_IO_TARGET_OPEN_TYPE;

Константы

 
WdfIoTargetOpenUndefined
Значение: 0
Зарезервировано для системного использования.
WdfIoTargetOpenUseExistingDevice
Значение: 1
Это значение поддерживается только KMDF.

Драйвер определяет удаленный целевой объект ввода-вывода, указывая указатель на структуру DEVICE_OBJECT модели драйвера Windows (WDM).
WdfIoTargetOpenByName
Значение: 2
Драйвер открывает удаленный целевой объект ввода-вывода, предоставляя строку имени Юникода, представляющую имя объекта. Это имя может идентифицировать устройство, файл или интерфейс устройства.
WdfIoTargetOpenReopen
Значение: 3
Драйвер вновь открывает удаленный целевой объект ввода-вывода после вызова WdfIoTargetCloseForQueryRemove. Дополнительные сведения см. в разделе "Примечания".
WdfIoTargetOpenLocalTargetByFile
Значение: 4
Это значение поддерживается только UMDF.

UMDF Драйвер открывает дескриптор файла, представляющий нижний стек (как и локальный целевой объект), чтобы отправить созданный драйвером запрос в нижний стек. Драйвер UMDF задает это значение при вызове WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE.

Комментарии

Перечисление WDF_IO_TARGET_OPEN_TYPE используется в элементе Type структуры WDF_IO_TARGET_OPEN_PARAMS .

Драйвер может указать WdfIoTargetOpenReopen , только если он указал WdfIoTargetOpenByName при первоначальном открытии удаленного целевого объекта ввода-вывода.

Если задан параметр WdfIoTargetOpenReopen , платформа игнорирует все остальные элементы структуры WDF_IO_TARGET_OPEN_PARAMS и использует значения, указанные драйвером при первоначальном вызове WdfIoTargetOpen , чтобы открыть удаленный целевой объект ввода-вывода.

По умолчанию (если драйвер не указывает UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects в INF-файле) UMDF не разрешает обработку запросов ввода-вывода, не связанных с объектом файла. Кроме того, некоторые стеки драйверов, такие как PDO коллекции с перечислением HIDclass, завершаются сбоем запросов, не имеющих связанного объекта файла.

В отличие от запросов, созданных приложением, запросы, созданные драйвером, отправляемые в локальный целевой объект ввода-вывода, не имеют связанного объекта файла. В результате платформа или более низкий драйвер может завершиться ошибкой этих запросов.

В этом случае можно использовать WdfIoTargetOpenLocalTargetByFile , чтобы вызвать связывание созданных драйвером запросов к локальному целевому объекту с объектом файла, соответствующим этому целевому объекту.

Требования

Требование Значение
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfiotarget.h (включая Wdf.h)

См. также раздел

DEVICE_OBJECT

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE

WdfIoTargetCloseForQueryRemove

WdfIoTargetOpen