NdisMoveMemory macro (ndis.h)
The NdisMoveMemory function copies a specified number of bytes from one caller-supplied location to another.
Syntax
void NdisMoveMemory(
[out] Destination,
[in] Source,
[in] Length
);
Parameters
[out] Destination
A pointer to a system-space buffer that is the destination of the move. This buffer must be at least Length bytes in size.
[in] Source
A pointer to a system-space buffer from which this function copies the data to the destination buffer. This buffer must be at least Length bytes in size.
[in] Length
The number of bytes to copy.
Return value
None
Remarks
Both Source and Destination are virtual addresses.
If either address falls within a range of device memory that was mapped with NdisMMapIoSpace, a miniport driver should call one of the Ndis..MappedMemory functions instead of NdisMoveMemory.
The range specified by Source and Length cannot overlap the Destination range.
Callers of NdisMoveMemory can run at any IRQL if the given Source and Destination are resident. Otherwise, callers must be running at IRQL < DISPATCH_LEVEL, as, for example if either address is on the stack.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported for existing drivers in NDIS 6.0 and later, but new drivers should use RtlCopyMemory (not RtlMoveMemory) instead. |
Target Platform | Desktop |
Header | ndis.h (include Ndis.h) |
IRQL | See Remarks section |