Udostępnij przez


Rejestrowanie funkcji programu obsługi selektywnego wstrzymania NDIS

Jeśli sterownik miniportu obsługuje selektywne wstrzymanie NDIS, NDIS powiadamia sterownik, że podległa karta sieciowa stała się nieaktywna. Sterownik miniportu musi zapewnić następujące funkcje do obsługi powiadomień o bezczynności.

MiniportIdleNotification
NDIS wywołuje funkcję obsługi MiniportIdleNotification, aby powiadomić sterownik miniportu, iż karta sieciowa stała się bezczynna. Sterownik miniportu obsługuje powiadomienie o bezczynności, określając, czy karta sieciowa może przejść do stanu niskiego zużycia energii. Kierowca miniportu wykonuje tę determinację w sposób specyficzny dla autobusu.

Na przykład sterownik miniportu USB określa, czy karta sieciowa może przejść do stanu niskiego poboru mocy, wydając pakiet żądania operacji we/wy (IRP) dla żądania bezczynności USB (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) do bazowego sterownika magistrali USB. Dzięki przetwarzaniu tego pakietu IRP sterownik miniportu jest powiadamiany, że karta jest bezczynna i może zostać przełączona do stanu niskiego zasilania.

MiniportCancelIdleNotification
Usługa NDIS wywołuje funkcję obsługi MiniportCancelIdleNotification w celu anulowania zaległego powiadomienia o bezczynności. Po wywołaniu tej funkcji sterownik miniportu anuluje wszystkie IRP specyficzne dla magistrali, które mogły zostać wcześniej wystawione w kontekście powiadomienia o stanie bezczynności.

Na przykład po wywołaniu MiniportCancelIdleNotification miniport USB musi anulować wcześniej wystawione żądanie bezczynności USB IRP. Po anulowaniu protokołu IRP sterownik miniportu jest powiadamiany, że adapter może zostać przeniesiony do stanu pełnego zasilania.

Kiedy wywoływana jest funkcja DriverEntry sterownika miniportu, sterownik rejestruje swoje funkcje obsługi selektywnego wstrzymania NDIS poprzez wykonanie poniższych kroków:

  1. Sterownik miniportu musi ustawić element SetOptionsHandler struktury NDIS_MINIPORT_DRIVER_CHARACTERISTICS do punktu wejścia dla funkcji MiniportSetOptions sterownika. Sterownik wywołuje NdisMRegisterMiniportDriver, aby zarejestrować strukturę NDIS_MINIPORT_DRIVER_CHARACTERISTICS w NDIS.

  2. NDIS wywołuje funkcję MiniportSetOptions w kontekście wywołania do NdisMRegisterMiniportDriver.

    Po wywołaniu MiniportSetOptions sterownik miniportu inicjuje strukturę NDIS_MINIPORT_SS_CHARACTERISTICS ze wskaźnikami do funkcji obsługi. Następnie sterownik miniportu wywołuje NdisSetOptionalHandlers i ustawia parametr OptionalHandlers na wskaźnik do struktury NDIS_MINIPORT_SS_CHARACTERISTICS.

Aby uzyskać więcej informacji na temat obsługi powiadomień bezczynnych dla selektywnego wstrzymania NDIS, zobacz powiadomienia o bezczynności dla selektywnego wstrzymywania NDIS.