31#ifndef _WDFDMATRANSACTION_H_
32#define _WDFDMATRANSACTION_H_
36 #define WDF_EXTERN_C extern "C"
37 #define WDF_EXTERN_C_START extern "C" {
38 #define WDF_EXTERN_C_END }
41 #define WDF_EXTERN_C_START
42 #define WDF_EXTERN_C_END
50#if (NTDDI_VERSION >= NTDDI_WIN2K)
81EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL(
104EVT_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE(
142(
STDCALL *PFN_WDFDMATRANSACTIONCREATE)(
157WdfDmaTransactionCreate(
177(
STDCALL *PFN_WDFDMATRANSACTIONINITIALIZE)(
199WdfDmaTransactionInitialize(
226(
STDCALL *PFN_WDFDMATRANSACTIONINITIALIZEUSINGOFFSET)(
248WdfDmaTransactionInitializeUsingOffset(
275(
STDCALL *PFN_WDFDMATRANSACTIONINITIALIZEUSINGREQUEST)(
292WdfDmaTransactionInitializeUsingRequest(
314(
STDCALL *PFN_WDFDMATRANSACTIONEXECUTE)(
327WdfDmaTransactionExecute(
345(
STDCALL *PFN_WDFDMATRANSACTIONRELEASE)(
356WdfDmaTransactionRelease(
371(
STDCALL *PFN_WDFDMATRANSACTIONDMACOMPLETED)(
383WdfDmaTransactionDmaCompleted(
400(
STDCALL *PFN_WDFDMATRANSACTIONDMACOMPLETEDWITHLENGTH)(
414WdfDmaTransactionDmaCompletedWithLength(
433(
STDCALL *PFN_WDFDMATRANSACTIONDMACOMPLETEDFINAL)(
447WdfDmaTransactionDmaCompletedFinal(
466(
STDCALL *PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED)(
476WdfDmaTransactionGetBytesTransferred(
491(
STDCALL *PFN_WDFDMATRANSACTIONSETMAXIMUMLENGTH)(
503WdfDmaTransactionSetMaximumLength(
520(
STDCALL *PFN_WDFDMATRANSACTIONGETREQUEST)(
530WdfDmaTransactionGetRequest(
545(
STDCALL *PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH)(
555WdfDmaTransactionGetCurrentDmaTransferLength(
570(
STDCALL *PFN_WDFDMATRANSACTIONGETDEVICE)(
580WdfDmaTransactionGetDevice(
595(
STDCALL *PFN_WDFDMATRANSACTIONGETTRANSFERINFO)(
609WdfDmaTransactionGetTransferInfo(
628(
STDCALL *PFN_WDFDMATRANSACTIONSETCHANNELCONFIGURATIONCALLBACK)(
642WdfDmaTransactionSetChannelConfigurationCallback(
661(
STDCALL *PFN_WDFDMATRANSACTIONSETTRANSFERCOMPLETECALLBACK)(
675WdfDmaTransactionSetTransferCompleteCallback(
694(
STDCALL *PFN_WDFDMATRANSACTIONSETIMMEDIATEEXECUTION)(
706WdfDmaTransactionSetImmediateExecution(
723(
STDCALL *PFN_WDFDMATRANSACTIONALLOCATERESOURCES)(
741WdfDmaTransactionAllocateResources(
764(
STDCALL *PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET)(
776WdfDmaTransactionSetDeviceAddressOffset(
793(
STDCALL *PFN_WDFDMATRANSACTIONFREERESOURCES)(
803WdfDmaTransactionFreeResources(
818(
STDCALL *PFN_WDFDMATRANSACTIONCANCEL)(
828WdfDmaTransactionCancel(
843(
STDCALL *PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT)(
853WdfDmaTransactionWdmGetTransferContext(
868(
STDCALL *PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER)(
878WdfDmaTransactionStopSystemTransfer(
#define __drv_reportError(why)
#define _IRQL_requires_same_
#define _IRQL_requires_(irql)
#define _Function_class_(x)
#define _Must_inspect_result_
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDMAENABLER DmaEnabler
_In_ WDFDMAENABLER _In_ WDF_DMA_DIRECTION DmaDirection
enum _WDF_DMA_DIRECTION WDF_DMA_DIRECTION
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE _In_opt_ PVOID DmaCompletionContext
EVT_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE * PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE
_In_ WDFDMATRANSACTION _In_ size_t FinalTransferredLength
_Must_inspect_result_ _In_ WDFDMAENABLER _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDMATRANSACTION * DmaTransaction
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG _In_ PFN_WDF_RESERVE_DMA _In_ PVOID EvtReserveDmaContext
_In_ WDFDMATRANSACTION _In_ BOOLEAN UseImmediateExecution
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT Context
EVT_WDF_PROGRAM_DMA * PFN_WDF_PROGRAM_DMA
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL _In_ size_t _In_ size_t Length
_Must_inspect_result_ _In_ WDFDMAENABLER _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL _In_opt_ PVOID ConfigureContext
EVT_WDF_RESERVE_DMA * PFN_WDF_RESERVE_DMA
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION _In_ PSCATTER_GATHER_LIST SgList
_Must_inspect_result_ _In_ WDFDMAENABLER DmaEnabler
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction
#define WDF_EXTERN_C_START
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFDMATRANSACTIONCREATE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine
_In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION _In_ DMA_COMPLETION_STATUS Status
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG _In_ PFN_WDF_RESERVE_DMA EvtReserveDmaFunction
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ WDFREQUEST Request
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
_In_ WDFDMATRANSACTION _Out_opt_ ULONG * MapRegisterCount
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG RequiredMapRegisters
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL _In_ size_t Offset
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID _In_ _When_(Length==0, __drv_reportError(Length cannot be zero)) size_t Length)
_In_ WDFDMATRANSACTION _In_ size_t TransferredLength
EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL * PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION DmaDirection
_In_ WDFDMATRANSACTION _Out_opt_ ULONG _Out_opt_ ULONG * ScatterGatherElementCount
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine
PWDF_DRIVER_GLOBALS WdfDriverGlobals
@ WdfDmaTransactionDmaCompletedWithLengthTableIndex
@ WdfDmaTransactionGetBytesTransferredTableIndex
@ WdfDmaTransactionSetImmediateExecutionTableIndex
@ WdfDmaTransactionSetTransferCompleteCallbackTableIndex
@ WdfDmaTransactionGetDeviceTableIndex
@ WdfDmaTransactionExecuteTableIndex
@ WdfDmaTransactionDmaCompletedTableIndex
@ WdfDmaTransactionSetDeviceAddressOffsetTableIndex
@ WdfDmaTransactionWdmGetTransferContextTableIndex
@ WdfDmaTransactionCancelTableIndex
@ WdfDmaTransactionInitializeUsingOffsetTableIndex
@ WdfDmaTransactionInitializeTableIndex
@ WdfDmaTransactionSetMaximumLengthTableIndex
@ WdfDmaTransactionReleaseTableIndex
@ WdfDmaTransactionGetRequestTableIndex
@ WdfDmaTransactionDmaCompletedFinalTableIndex
@ WdfDmaTransactionSetChannelConfigurationCallbackTableIndex
@ WdfDmaTransactionGetTransferInfoTableIndex
@ WdfDmaTransactionInitializeUsingRequestTableIndex
@ WdfDmaTransactionStopSystemTransferTableIndex
@ WdfDmaTransactionGetCurrentDmaTransferLengthTableIndex
@ WdfDmaTransactionAllocateResourcesTableIndex
@ WdfDmaTransactionCreateTableIndex
@ WdfDmaTransactionFreeResourcesTableIndex
struct _SCATTER_GATHER_LIST * PSCATTER_GATHER_LIST