Функция 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_PARAMETER
Обнаружен недопустимый параметр.
STATUS_INSUFFICIENT_RESOURCES
Недостаточно памяти для создания нового целевого объекта ввода-вывода.
STATUS_INVALID_DEVICE_REQUEST
В элементе ParentObjectструктуры WDF_OBJECT_ATTRIBUTES , указанной IoTargetAttributes , не указан объект устройства платформы, указанный устройством, или объект, цепочка родителей которого приводит к этому объекту.
 

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

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

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

Комментарии

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

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

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

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

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

Примеры

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

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfiotarget.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

WDF_OBJECT_ATTRIBUTES

WdfIoTargetOpen