Expand Minimize

NdisIMCopySendCompletePerPacketInfo 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.

NdisIMCopySendCompletePerPacketInfo copies per-packet information from a packet returned up by a lower miniport driver into a new packet that is to be returned to an upper-level driver.

Syntax


VOID NdisIMCopySendCompletePerPacketInfo(
  _Out_  PNDIS_PACKET DstPacket,
  _In_   PNDIS_PACKET SrcPacket
);

Parameters

DstPacket [out]

Pointer to the destination packet descriptor in which per-packet information is to be copied.

SrcPacket [in]

Pointer to the source packet descriptor from which per-packet information is copied.

Return value

None

Remarks

When an intermediate driver handles the completion of a send request from a lower miniport driver, that intermediate driver calls NdisIMCopySendCompletePerPacketInfo to copy per-packet information. The intermediate driver copies the per-packet information from a packet that was returned by the lower miniport driver into a new packet that the intermediate driver returns to an upper-level driver. The intermediate driver calls NdisIMCopySendCompletePerPacketInfo for each packet returned through the stack unless the intermediate driver must modify a packet's per-packet information.

Per-packet information is contained in an NDIS_PACKET_EXTENSION structure and includes, for example, checksum information, Internet Protocol security information, and 802.1p priority information.

If an intermediate driver must modify a packet's per-packet information, that intermediate driver should use the NDIS_PER_PACKET_INFO_FROM_PACKET macro to accesses the information. The driver can call this macro once for each type of per-packet information that it needs to access.

Drivers can also use the NDIS_PACKET_EXTENSION_FROM_PACKET macro, which returns a pointer to the NDIS_PACKET_EXTENSION structure. A driver can call this macro if it needs to access more than one type of per-packet information associated with a packet descriptor. After obtaining the pointer to the NDIS_PACKET_EXTENSION structure, the driver can use the appropriate array index to obtain a pointer to a particular type of per-packet information.

To copy a range of data from one packet to another, use the NdisCopyFromPacketToPacket function.

Requirements

Target platform

Universal

Version

Not supported for NDIS 6.0 drivers in Windows Vista. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP.

Header

Ndis.h (include Ndis.h)

IRQL

Any level

See also

NdisCopyFromPacketToPacket
NdisIMCopySendPerPacketInfo
NDIS_PACKET
NDIS_PACKET_EXTENSION
NDIS_PACKET_EXTENSION_FROM_PACKET
NDIS_PER_PACKET_INFO_FROM_PACKET

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft