NdisGetFirstBufferFromPacket (Windows Embedded CE 6.0)

1/6/2010

This function returns pointers to the buffer descriptor and base virtual address for the initial buffer chained to a specified packet descriptor, along with the sizes of the initial buffer and total buffer in case the buffer is fragmented.

Syntax

VOID NdisGetFirstBufferFromPacket(
  PNDIS_PACKET Packet,
  PNDIS_BUFFER* FirstBuffer,
  PVOID* FirstBufferVA,
  PUINT FirstBufferLength,
  PUINT TotalBufferLength
);

Parameters

  • Packet
    [in] Pointer to the packet descriptor from which this function extracts information about the initial buffer.
  • FirstBuffer
    [out] Pointer to a caller-supplied variable in which this function returns the address of the initial buffer descriptor chained to the specified packet descriptor.
  • FirstBufferVA
    [out] Pointer to a caller-supplied variable in which this function returns the base virtual address of the initial buffer associated with the packet.
  • FirstBufferLength
    [out] Pointer to a caller-supplied variable in which this function returns the number of bytes mapped by the initial buffer descriptor chained to the packet descriptor.
  • TotalBufferLength
    [out] Pointer to a caller-supplied variable in which this function returns the total number of bytes mapped by all buffer descriptors chained to the packet descriptor.

Return Value

None.

Remarks

Drivers use this function to get information about the initial buffer and the amount of data associated with a specified packet faster than they can by calling the NdisQueryPacket function, and then the NdisQueryBuffer function.

Requirements

Header ndis.h
Library ndis.lib
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

NDIS Library Functions
NdisGetNextBuffer
NdisQueryBuffer
NdisQueryPacket