NdisMoveToMappedMemory

VOID
   NdisMoveToMappedMemory(

       OUT PVOID Destination,
       IN PVOID Source,
       IN ULONG Length
       );

NdisMoveToMappedMemory copies data from a system-space buffer to device memory that was mapped during initialization with NdisMMapIoSpace.

Parameters

Destination

Specifies the base virtual address within a mapped device memory range where the copy should begin. This address must fall at least Length bytes from the end of the mapped range.

Source

Points to a system-space buffer from which this function copies data to the destination range. This buffer must be at least Length bytes in size.

Length

Specifies the number of bytes to copy.

Comments

A NIC driver calls NdisMoveToMappedMemory to copy data from a buffer in the host to mapped device memory, as, for example, when transferring data from a protocol-supplied buffer or miniport-allocated staging buffer to the NIC for a transmit. 

Both the Source and Destination pointers are virtual addresses. The virtual range specified by Destination and Length must fall within a range that was mapped with NdisMMapIoSpace.

Callers of NdisMoveToMappedMemory can run at any IRQL when the given Source and Destination are resident. Otherwise, callers must be running at IRQL < DISPATCH_LEVEL, as, for example if the Source address is on the stack.

See Also

MiniportInitialize, NdisAllocateMemory, NdisMMapIoSpace, NdisMoveFromMappedMemory, NdisMoveMappedMemory, NdisMoveMemory, NdisReadRegisterUchar, NdisReadRegisterUlong, NdisReadRegisterUshort, NdisWriteRegisterUchar, NdisWriteRegisterUlong, NdisWriteRegisterUshort