Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
NDIS udostępnia funkcje przydzielania i zwalniania indeksów NET_LUID, które są wymagane do utworzenia wartości NET_LUID. Dostawca interfejsu NDIS musi przydzielić wartość NET_LUID w celu zarejestrowania interfejsu.
Aby przydzielić indeks NET_LUID, dostawca interfejsu wywołuje funkcję NdisIfAllocateNetLuidIndex . Po przydzieleniu indeksu dostawca interfejsu wywołuje makro NDIS_MAKE_NET_LUID w celu utworzenia wartości NET_LUID. Aby zwolnić indeks NET_LUID, dostawca interfejsu wywołuje funkcję NdisIfFreeNetLuidIndex .
NdisIfAllocateNetLuidIndex próbuje przydzielić wartość 24-bitową skojarzoną z typem interfejsu, określonym w parametrze IfType, i unikatowym dla komputera lokalnego, a określonym przez obiekt wywołujący. Jeśli alokacja indeksu powiedzie się, NdisIfAllocateNetLuidIndex zwraca NDIS_STATUS_SUCCESS i udostępnia indeks NET_LUID pod adresem podanym w parametrze pNetLuidIndex. Jeśli usługa NDIS nie może odnaleźć wolnego indeksu NET_LUID, NdisIfAllocateNetLuidIndex zwraca NDIS_STATUS_RESOURCES. NdisIfAllocateNetLuidIndex może zwrócić inne wartości stanu NDIS, aby wskazać błędy wewnętrzne w usłudze NDIS. Usługa NDIS rejestruje alokację tego indeksu, gdy komputer zostanie następnie uruchomiony ponownie. Usługa NDIS nie będzie używać określonego indeksu dla przyszłych wywołań, nawet po ponownym uruchomieniu komputera, dopóki dostawca interfejsu, który przydzielił ten indeks, wywołuje funkcję NdisIfFreeNetLuidIndex dla tego indeksu.
NdisIfFreeNetLuidIndex zwalnia wcześniej przydzielony indeks NET_LUID , dzięki czemu usługa NDIS może reallokować ten indeks do innego interfejsu. Obiekt wywołujący musi przekazać ten sam typ interfejsu w parametrze IfType, którego użył podczas wywoływania NdisIfAllocateNetLuidIndex w celu przydzielenia indeksu NET_LUID. Jeśli operacja bezpłatna powiedzie się, indeks NdisIfFreeNetLuidIndex zwróci NDIS_STATUS_SUCCESS. Jeśli wywołanie polecenia NdisIfFreeNetLuidIndex zakończy się niepowodzeniem, dostawca interfejsu powinien usunąć wszelkie informacje zapisane w magazynie trwałym powiązanym z indeksem NET_LUID. Usunięcie informacji zapewni, że dostawca nie będzie próbował zwolnić indeksu, który jest już zwalniany po każdym ponownym uruchomieniu komputera. Po wywołaniu NdisIfFreeNetLuidIndex wywołujący nie może ponownie użyć wartości NET_LUID, chyba że wywoła ponownie NdisIfAllocateNetLuidIndex dla tego samego typu interfejsu i otrzyma ten sam indeks NET_LUID, który zwolnił.
Aby zarejestrować interfejs sieciowy, dostawca interfejsu musi przekazać prawidłową wartość NET_LUID do funkcji NdisIfRegisterInterface . Aby uzyskać więcej informacji na temat rejestrowania interfejsów sieciowych, zobacz Rejestrowanie interfejsu sieciowego.