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