NdisIMCopySendCompletePerPacketInfo function (ndis.h)

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] OUT PNDIS_PACKET DstPacket,
  [in]  IN PNDIS_PACKET  SrcPacket
);

Parameters

[out] DstPacket

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

[in] SrcPacket

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.

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

Requirements

Requirement Value
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL Any level

See also