NdisSetPacketFlags

This function sets caller-determined and medium-specific information in the flags of a given packet descriptor.

At a Glance

Header file: Ndis.h
Windows CE versions: 2.0 and later

Syntax

VOID NdisSetPacketFlags( IN PNDIS_PACKET Packet, IN UINT Flags );

Parameters

Packet
Pointer to the packet descriptor in which the flags should be set.
Flags
Specifies the value to be set in the flags, which are in the private portion of the packet descriptor reserved for use by NDIS.

For protocols, the format of this value is specific to the medium that the underlying driver selected when the protocol called the NdisOpenAdapter function to set up the binding.

Remarks

Setting the flags in a packet descriptor allows a protocol driver to pass information, usually about a send request, that is not included in the packet data.

A protocol driver usually calls this function to set the flags in packets sent on any medium that transmits data in an expedited manner. Some types of media include flags information in the packet header contained in buffers chained to the send packet. When a protocol driver is bound to an underlying driver for these types of media, a call to this function is unnecessary.

When a bound protocol calls this function, an underlying driver’s MiniportSendPackets function can read these flags only by calling the NdisGetPacketFlags function. For underlying drivers that have MiniportSend functions, a call to NdisGetPacketFlags is unnecessary because the flags are passed as an input parameter to the MiniportSend function.

All packet descriptors allocated with NdisAllocatePacket are 0-initialized, including the flags. If the value returned by NdisGetPacketFlags is 0, the underlying driver can assume that the packet has no protocol-set flags information.

However, protocols can supply far more media-specific information, such as the packet priority, in the out-of-band data block associated with each packet descriptor than a call to this function with a single packet allows.

A driver that calls this function runs at IRQL <= DISPATCH_LEVEL.

See Also

NdisAllocatePacket, NdisOpenAdapter, NdisSend, NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO