Delen via


Een NET_LUID-index gebruiken

NDIS biedt functies voor het toewijzen en vrijmaken van de NET_LUID indexen die nodig zijn om NET_LUID waarden te maken. Een NDIS-interfaceprovider moet een NET_LUID-waarde toewijzen om een interface te registreren.

Als u een NET_LUID-index wilt toewijzen, roept een interfaceprovider de functie NdisIfAllocateNetLuidIndex aan. Na het toewijzen van de index roept de interfaceprovider de NDIS_MAKE_NET_LUID macro aan om de NET_LUID waarde te bouwen. Een interfaceprovider roept de NdisIfFreeNetLuidIndex functie aan om een NET_LUID index vrij te maken.

NdisIfAllocateNetLuidIndex probeert een 24-bits waarde toe te wijzen die is gekoppeld aan het interfacetype dat de aanroeper heeft opgegeven bij de parameter IfType en die uniek is voor de lokale computer. Als de indextoewijzing slaagt, retourneert NdisIfAllocateNetLuidIndex NDIS_STATUS_SUCCESS en wordt een NET_LUID index weergegeven op het adres dat is opgegeven in de parameter pNetLuidIndex. Als NDIS geen gratis NET_LUID index kan vinden, retourneert NdisIfAllocateNetLuidIndex NDIS_STATUS_RESOURCES. NdisIfAllocateNetLuidIndex kan andere NDIS-statuswaarden retourneren om interne fouten in NDIS aan te geven. NDIS registreert de toewijzing van deze index voor wanneer de computer vervolgens opnieuw wordt opgestart. NDIS gebruikt geen bepaalde index voor toekomstige bellers, zelfs nadat de computer opnieuw is opgestart, totdat de interfaceprovider die die index heeft toegewezen, de NdisIfFreeNetLuidIndex functie voor die index aanroept.

NdisIfFreeNetLuidIndex maakt een eerder toegewezen NET_LUID index vrij, zodat NDIS die index mogelijk opnieuw kan toewijzen aan een andere interface. De aanroeper moet hetzelfde interfacetype doorgeven op IfType- dat de aanroeper heeft gebruikt bij het aanroepen van NdisIfAllocateNetLuidIndex om de NET_LUID-index toe te wijzen. Als de vrije bewerking slaagt, retourneert NdisIfFreeNetLuidIndex NDIS_STATUS_SUCCESS. Als de aanroep van NdisIfFreeNetLuidIndex mislukt, moet de interfaceprovider alle gegevens verwijderen die zijn opgeslagen in permanente opslag die is gerelateerd aan de NET_LUID-index. Als u de informatie verwijdert, zorgt u ervoor dat de provider geen index probeert vrij te maken die al is vrijgemaakt nadat elke computer opnieuw is opgestart. Nadat de functie NdisIfFreeNetLuidIndexis aangeroepen, mag de aanroeper de NET_LUID waarde niet opnieuw gebruiken, tenzij hij opnieuw NdisIfAllocateNetLuidIndex aanroept voor hetzelfde interfacetype en dezelfde NET_LUID index terugkrijgt die hij had vrijgemaakt.

Als u een netwerkinterface wilt registreren, moet een interfaceprovider een geldige NET_LUID-waarde doorgeven aan de functie NdisIfRegisterInterface. Zie Een netwerkinterface registrerenvoor meer informatie over het registreren van netwerkinterfaces.