Share via


NDIS_GET_PACKET_HEADER_SIZE (Windows Embedded CE 6.0)

1/6/2010

This macro returns the HeaderSize value from the out-of-band data block associated with a given packet descriptor.

Syntax

UINT NDIS_GET_PACKET_HEADER_SIZE(
  PNDIS_PACKET _Packet
);

Parameters

  • _Packet
    Points to a packet descriptor.

Return Value

The return value is the value set in the HeaderSize member of the NDIS_PACKET_OOB_DATA block associated with the given packet descriptor.

Remarks

The HeaderSize specifies the number of bytes of medium-specific header mapped by the initial buffer descriptor chained to the packet descriptor. A NIC driver sets this value with NDIS_SET_PACKET_HEADER_SIZE in the out-of-band data block for the receive packets it will indicate with NdisMIndicateReceivePacket. Typically, a NIC miniport sets the HeaderSize once in each packet descriptor it allocates with NdisAllocatePacket for subsequent receive indications, and the value it sets depends on the medium it selected during initialization.

An NDIS intermediate driver that translates indicated packets to another medium for still higher level protocols would use NDIS_SET_PACKET_HEADER to set the header size to a value appropriate to its own medium as it translates incoming receives.

The NDIS_GET_PACKET_HEADER_SIZE macro is defined as follows.

#define NDIS_GET_PACKET_HEADER_SIZE(_Packet) \
((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
(_Packet)->Private.NdisPacketOobOffset))->HeaderSize

Requirements

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

See Also

Reference

Network Driver Macros
NDIS_PACKET_OOB_DATA
NDIS_SET_PACKET_HEADER_SIZE
NdisAllocatePacket
NdisMIndicateReceivePacket
NdisSend
NdisSendPackets