Network Driver Macros (Windows Embedded CE 6.0)

1/6/2010

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 Embedded 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 NdisMIndicateReceivePacket 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

Other Resources

Network Driver Reference