NdisMCompleteDmaTransfer (NDIS 5.1) function
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
NdisMCompleteDmaTransfer indicates that a system DMA transfer operation has completed. It resets the system DMA controller in preparation for further DMA transfers.
VOID NdisMCompleteDmaTransfer( _Out_ PNDIS_STATUS Status, _In_ NDIS_HANDLE MiniportDmaHandle, _In_ PNDIS_BUFFER Buffer, _In_ ULONG Offset, _In_ ULONG Length, _In_ BOOLEAN WriteToDevice );
- Status [out]
Pointer to a caller-supplied variable in which this function returns the final status of the DMA transfer, which can be one of the following:
- MiniportDmaHandle [in]
Specifies the handle returned when MiniportInitialize called NdisMRegisterDmaChannel.
- Buffer [in]
Pointer to the buffer descriptor previously passed to NdisMSetupDmaTransfer.
- Offset [in]
Specifies the byte offset at which the transfer began. This value also was passed to NdisMSetupDmaTransfer.
- Length [in]
Specifies the length in bytes of the transfer. This value also was passed to NdisMSetupDmaTransfer.
- WriteToDevice [in]
Specifies TRUE if the transfer was from the host to the NIC, as, for example, a send operation.
NdisMCompleteDmaTransfer must be called with WriteToDevice set to TRUE before the transferred data is considered present in the NIC's memory. NdisMCompleteDmaTransfer must be called with WriteToDevice set to FALSE before the transferred data can be read from host memory.