Microsoft Windows CE 3.0  

NdisCopyFromPacketToPacket

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This function copies a specified range of data from one packet to another.

VOID NdisCopyFromPacketToPacket(
IN PNDIS_PACKET
Destination, 
IN UINT
DestinationOffset, 
IN UINT
BytesToCopy, 
IN PNDIS_PACKET
Source, 
IN UINT
SourceOffset, 
OUT PUINT
BytesCopied
);

Parameters

Destination
Pointer to the destination packet descriptor.
DestinationOffset
Specifies the byte offset within the destination packet at which to begin writing the copied data.
BytesToCopy
Specifies the number of bytes to copy.
Source
Pointer to the source packet descriptor.
SourceOffset
Specifies the byte offset within the source packet at which to begin copying the data.
BytesCopied
Pointer to the caller-supplied variable in which this function returns the number of bytes actually copied. This number can be less than the value of BytesToCopyif the source packet runs out of data or the destination packet runs out of space.

Remarks

The caller of this function allocates the destination packet, if not the source packet as well. The packet descriptor of the destination packet should have enough chained buffer descriptors to receive the data.

If the source packet runs out of data or the destination packet out of space before the specified number of bytes has been copied, the copy operation stops. In either case, this function returns the number of bytes successfully copied from the source to the destination packet.

This function does not copy any out-of-band information associated with the specified Sourceto the Destination. To copy this information, the driver can use pointers returned by NDIS_OOB_DATA_FROM_PACKET, and then call the NdisMoveMemoryfunction.

The driver must release any spin lock that it is holding before calling this function.

A driver that calls this function runs at IRQL <= DISPATCH_LEVEL.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Ndis.h    
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

NdisAllocateBuffer, NdisAllocatePacket, NdisMoveMemory



 Last updated on Tuesday, July 13, 2004

© 2004 Microsoft Corporation. All rights reserved.