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


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

[Относится только к KMDF]

Метод WdfDmaTransactionInitializeUsingOffset инициализирует указанную транзакцию DMA, используя смещение байтов в цепочку MDL.

Синтаксис

NTSTATUS WdfDmaTransactionInitializeUsingOffset(
  [in] WDFDMATRANSACTION   DmaTransaction,
  [in] PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
  [in] WDF_DMA_DIRECTION   DmaDirection,
  [in] PMDL                Mdl,
  [in] size_t              Offset,
  [in] size_t              Length
);

Параметры

[in] DmaTransaction

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

[in] EvtProgramDmaFunction

Указатель на функцию обратного вызова события EvtProgramDma драйвера.

[in] DmaDirection

WDF_DMA_DIRECTION типизированное значение.

[in] Mdl

Указатель на список дескрипторов памяти (MDL), описывающий буфер, который будет использоваться для транзакции DMA. Дополнительные сведения см. в разделе Примечания.

[in] Offset

Смещение байтов в цепочке MDL для текущей транзакции.

[in] Length

Число передаваемых байтов. Это значение должно быть больше нуля.

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

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

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

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

Комментарии

WdfDmaTransactionInitializeUsingOffset эквивалентно WdfDmaTransactionInitialize , за исключением того, что он принимает смещение в буфер, описанный цепочкой MDL, а не виртуальный адрес.

Драйвер может указать цепочку MDL в параметре Mdl этого метода. Цепочка MDL — это последовательность структур MDL, которые драйвер связывает с помощью элемента Next структуры MDL.

Требования

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

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

WdfDmaTransactionInitialize