Network Driver Macros

The following table shows the NDIS macros with a description of the purpose of each.

Programming element Description
CONTAINING_RECORD This macro returns the base address of an instance of a structure of a specified type if it has the address of a member within the containing structure.
ETH_COPY_NETWORK_ADDRESS This macro copies a specified Ethernet address to a specified location.
NDIS_BUFFER_LINKAGE This macro returns a pointer to a linked buffer as long as it has a pointer to a buffer descriptor.
NDIS_BUFFER_TO_SPAN_PAGES This macro determines how many physical pages of memory are being used to back a specified buffer.
NDIS_GET_ORIGINAL_PACKET This macro returns a pointer to a packet descriptor that the lowest-level driver in a layered stack of NDIS drivers indicated.
NDIS_GET_PACKET_CANCEL_ID This macro returns the cancellation identifier assigned to a packet.
NDIS_GET_PACKET_HEADER_SIZE This macro returns the HeaderSize value from the out-of-band data block associated with a given packet descriptor.
NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO This macro returns the MediaSpecificInformation pointer and the SizeMediaSpecificInfo value from the out-of-band data block associated with a given packet descriptor.
NDIS_GET_PACKET_PROTOCOL_TYPE This macro returns the protocol identifier associated with a given packet descriptor.
NDIS_GET_PACKET_STATUS This macro returns the Status value from the out-of-band (OOB) data block associated with a given packet descriptor.
NDIS_GET_PACKET_TIME_RECEIVED This function returns the TimeReceived value from the out-of-band (OOB) data block associated with a given packet descriptor.
NDIS_GET_PACKET_TIME_SENT This macro returns the TimeSent value from the out-of-band (OOB) data block associated with a given packet descriptor.
NDIS_GET_PACKET_TIME_TO_SEND This macro returns the TimeToSend member of the out-of-band (OOB) data block associated with a given packet descriptor.
NDIS_INIT_FUNCTION NDIS_INIT_FUNCTION is a macro used to mark a driver function. It is run once only during initialization, but is otherwise ignored in Windows CE.
NDIS_OOB_DATA_FROM_PACKET This macro returns a pointer to the out-of-band (OOB) data block associated with a given packet descriptor.
NDIS_PACKET_EXTENSION_FROM_PACKET This macro returns a pointer to the NDIS_PACKET_EXTENSION structure associated with a packet descriptor.
NDIS_PER_PACKET_INFO_FROM_PACKET This macro returns a pointer to a specific type of per-packet information associated with a packet descriptor.
NDIS_PHYSICAL_ADDRESS_CONST This macro initializes a static constant of type physical address.
NDIS_SET_ORIGINAL_PACKET This macro sets the information in a given packet descriptor to the information from a packet descriptor that was originally indicated up by a lower-level driver.
NDIS_SET_PACKET_CANCEL_ID This macro marks a packet with a cancellation identifier that a driver can later use to cancel the pending transmission of the packet.
NDIS_SET_PACKET_HEADER_SIZE This macro sets the HeaderSize member in the NDIS_OOB_DATA_FROM_PACKET structure associated with a specified packet descriptor for a subsequent receive indication.
NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO This macro sets the _MediaSpecificInformation pointer and the _SizeMediaSpecificInfo value in the out-of-band (OOB) data block associated with a specified packet descriptor.
NDIS_SET_PACKET_STATUS This macro sets the Status member in the structure associated with a specified packet descriptor just before a driver calls the NdisMIndicateReceivePackett function or before a driver's MiniportSendPackets function returns control.
NDIS_SET_PACKET_TIME_RECEIVED This macro sets the _TimeReceived value in the out-of-band data block associated with a specified packet descriptor.
NDIS_SET_PACKET_TIME_SENT This macro sets the TimeSent value in the out-of-band data block associated with a specified packet descriptor.
NDIS_SET_PACKET_TIME_TO_SEND This macro sets the TimeToSend value in the out-of-band data block associated with a specified packet descriptor.
TR_COMPARE_NETWORK_ADDRESSES This macro uses an arbitrary ordering to set a caller-supplied variable to a value indicating whether a given Token Ring address is greater than, less than, or equal to another given Token Ring address.
TR_COPY_NETWORK_ADDRESS This macro copies a given Token Ring address to a given location.
TR_IS_BROADCAST This macro sets a caller-supplied variable to a Boolean value indicating whether a given Token Ring address is a broadcast address.
TR_IS_FUNCTIONAL This macro sets a caller-supplied variable to a Boolean value indicating whether a given Token Ring address is a functional address.
TR_IS_GROUP This macro sets a caller-supplied variable to a Boolean value indicating whether a given Token Ring address is a group address.
TR_IS_NOT_DIRECTED This macro sets a caller-supplied variable to a Boolean value indicating whether a given Token Ring address is neither a functional nor a group address.
TR_IS_SOURCE_ROUTING This macro sets a caller-supplied variable to a Boolean value indicating whether a given Token Ring address is a source-routing address.

See Also

Network Driver Reference

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.