Функция 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 или 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