The NDIS network interfaces programming interface provides services to:
- Generate a locally unique identifier ( NET_LUID) for each interface. NET_LUID values:
- Must persist when the computer restarts. Interface providers must make NET_LUIDs persistent even if the associated interface is not persistent. For example, this persistence allows the interface provider to free the NET_LUID index if there is a computer power failure.
- Must be associated with an interface type ( IfType in RFC 2863).
- Must be unique on a local computer.
- Can be converted to a text representation because a NET_LUID is equivalent to the interface name (ifName in RFC 2863).
- Generate a locally unique interface index (a 24-bit value that is also referred to as IfIndex ) for each interface. IfIndex values have the following properties:
- Low numbers are preferred. For example, NDIS reuses the lowest available interface index.
- IfIndex values do not persist when the computer restarts.
- There is a one-to-one correspondence between a NET_LUID value and an IfIndex value.
Map between interface indexes, NET_LUID values, and "friendly names" (For example, a friendly name as displayed in the network connections folder).
Define the layering order of interfaces in a driver stack.
Query and set interface properties and tables that NDIS drivers manage and that RFCs 2863 and 2864 specify.