NdisGetFirstBufferFromPacket

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.

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 Values

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

OS Versions: Windows CE .NET 4.0 and later.
Header: Ndis.h.

See Also

NdisGetNextBuffer | NdisQueryBuffer | NdisQueryPacket

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.