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


Функция WdfIoTargetCreate (wdfiotarget.h)

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

Метод WdfIoTargetCreate создает целевой объект ввода-вывода для указанного устройства.

Синтаксис

NTSTATUS WdfIoTargetCreate(
  [in]           WDFDEVICE              Device,
  [in, optional] PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
  [out]          WDFIOTARGET            *IoTarget
);

Параметры

[in] Device

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

[in, optional] IoTargetAttributes

Указатель на выделенную вызывающим WDF_OBJECT_ATTRIBUTES структуру, указывающую атрибуты объекта для целевого объекта ввода-вывода. Этот параметр является необязательным и может быть WDF_NO_OBJECT_ATTRIBUTES.

[out] IoTarget

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

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

WdfIoTargetCreate возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может вернуть одно из следующих значений:

Код возврата Описание
СТАТУС_НЕДЕЙСТВИТЕЛЬНЫЙ_ПАРАМЕТР
Обнаружен недопустимый параметр.
СТАТУС_НЕДОСТАТОЧНЫЕ_РЕСУРСЫ
Недостаточно памяти для создания нового целевого объекта ввода-вывода.
STATUS_INVALID_DEVICE_REQUEST
Элемент ParentObject структуры WDF_OBJECT_ATTRIBUTES, IoTargetAttributes не указал объект устройства платформы, который устройство или объект, цепочка родителей которого приводит к этому объекту.
 

Список других возвращаемых значений, которые может возвращать WdfIoTargetCreate, см. ошибках создания объектов Framework.

Этот метод также может возвращать другие значения NTSTATUS.

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

Замечания

После вызова драйвера WdfIoTargetCreateдрайвер должен вызвать WdfIoTargetOpen, прежде чем отправлять запросы в удаленный целевой объект ввода-вывода.

Если драйвер указывает родительский объект в элементе WDF_OBJECT_ATTRIBUTES структуры ParentObject, родительский объект может быть объектом устройства платформы или любым объектом, цепочка родителей которого приводит к объекту устройства платформы. Платформа удаляет целевой объект ввода-вывода, когда он (или драйвер) удаляет объект устройства.

Дополнительные сведения о WdfIoTargetCreateсм. в инициализацииобщего целевого объекта ввода-вывода.

Если драйвер предоставляет EvtCleanupCallback или Функции обратного вызова EvtDeqlCallback для целевого объекта ввода-вывода, обратите внимание, что платформа вызывает эти функции обратного вызова в IRQL = PASSIVE_LEVEL.

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

Примеры

Пример кода, использующий WdfIoTargetCreate, см. в разделе WdfIoTargetOpen.

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
Заголовок wdfiotarget.h (include Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
правил соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также

WDF_OBJECT_ATTRIBUTES

WdfIoTargetOpen