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


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

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

[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 — это последовательность структур MDL, которые драйвер объединяет с помощью Next член структуры MDL.

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.11
Заголовок wdfdmatransaction.h (include Wdf.h)
Библиотека Wdf01000.sys (см. управление версиями библиотеки Платформы).)
IRQL <=DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf)

См. также

WdfDmaTransactionInitialize