Функция WdfDmaTransactionCreate (wdfdmatransaction.h)

[Применяется только к KMDF]

Метод WdfDmaTransactionCreate создает транзакцию DMA.

Синтаксис

NTSTATUS WdfDmaTransactionCreate(
  [in]           WDFDMAENABLER          DmaEnabler,
  [in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
  [out]          WDFDMATRANSACTION      *DmaTransaction
);

Параметры

[in] DmaEnabler

Дескриптор объекта включения DMA, полученного драйвером при предыдущем вызове WdfDmaEnablerCreate.

[in, optional] Attributes

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

[out] DmaTransaction

Дескриптор объекта транзакции DMA.

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

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

Код возврата Описание
STATUS_INVALID_PARAMETER
Обнаружен недопустимый параметр.
STATUS_INSUFFICIENT_RESOURCES
Недостаточно памяти для создания нового объекта транзакции DMA.
 

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

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

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

Комментарии

После вызова WdfDmaTransactionCreate драйвер должен вызвать WdfDmaTransactionInitialize или WdfDmaTransactionInitializeUsquest перед вызовомWdfDmaTransactionExecute.

Указанный объект enabler DMA становится родительским для нового объекта транзакции DMA. Драйвер не может изменить этот родительский элемент, а член ParentObject или структура WDF_OBJECT_ATTRIBUTES должны иметь значение NULL.

Дополнительные сведения о транзакциях DMA см. в статье Создание и инициализация транзакции DMA.

Примеры

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

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfdmatransaction.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки платформы).
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

WDF_OBJECT_ATTRIBUTES

WdfDmaEnablerCreate

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest