Niska moc podczas odłączania nośników
Funkcja niskiego zużycia energii przy odłączaniu nośnika (D3 przy odłączeniu) pozwala zaoszczędzić energię, przez wprowadzenie karty sieciowej w stan niskiego zużycia energii (D3), gdy nośnik jest odłączony. Po ponownym połączeniu nośnika karta sieciowa wraca do stanu pełnego zasilania (D0).
NDIS używa funkcji D3 przy rozłączaniu w następujących warunkach:
Sprzęt karty sieciowej musi być w stanie wygenerować zdarzenie wzbudzenia przy połączeniu z siecią.
Sterownik miniportu musi zgłosić możliwość wznawiania karty sieciowej w MinLinkChangeWakeUp składowej struktury NDIS_PM_CAPABILITIES.
Wartość MinLinkChangeWakeUp musi odpowiadać wartości członka DeviceWake w strukturze DEVICE_CAPABILITIES, która jest zgłaszana przez IRP_MN_QUERY_CAPABILITIES IRP.
Sterownik miniportu musi zarejestrować się jako sterownik NDIS 6.20 lub nowszy.
Karta sieciowa musi być kartą PCI Ethernet.
Funkcjonalność wznawiania zdarzeń musi być włączona przez standardowe słowo kluczowe pliku INF *DeviceSleepOnDisconnect.
Mikroukład komputera musi być w stanie poprawnie propagować zdarzenie wybudzenia, gdy komputer jest w pełni zasilany. Usługa NDIS weryfikuje to, wysyłając zapytanie do właściwości DEVPKEY_PciDevice_S0WakeupSupported PCI.
Należy pamiętać, że D3 przy rozłączeniu jest dostępna tylko wtedy, gdy komputer jest w pełni zasilany w stanie roboczym (S0). Ta funkcja jest anulowana, gdy komputer przechodzi w stan uśpienia, aby zapobiec przebudzeniu komputera, gdy stan łącza jest cyklicznie zmieniany zewnętrznie; oznacza to, że po wyłączeniu i włączeniu przełącznika. Aby uzyskać więcej informacji na temat ustawiania stanu niskiego zasilania, gdy komputer przechodzi w stan uśpienia, zobacz Niski poziom zasilania dla funkcji Wake on LAN.
Sterownik miniportu zgłasza D3 dotyczące możliwości rozłączania podczas inicjowania. Aby uzyskać więcej informacji dotyczących raportowania D3 w kontekście możliwości rozłączania, zobacz Raportowanie możliwości zarządzania energią.
Słowo kluczowe *DeviceSleepOnDisconnect pliku INF określa, czy urządzenie obsługuje D3 podczas rozłączenia. Aby uzyskać więcej informacji na temat tego słowa kluczowego INF, zobacz ustandaryzowane słowa kluczowe INF dla zarządzania energią.
Podczas inicjowania sterowniki miniportu, które obsługują D3 przy rozłączeniu, muszą zgłaszać najniższy poziom zasilania, w którym może obsługiwać możliwość powiadamiania systemu operacyjnego o zdarzeniu media connect. Sterownik miniportu zgłasza poziom zasilania w MinLinkChangeWakeUp składowej struktury NDIS_PM_CAPABILITIES. Na przykład sterownik miniportu może zgłaszać NdisDeviceStateD3.
Poniższa ilustracja przedstawia sekwencję zdarzeń, by ustawić kartę sieciową w stan niskiego zużycia energii po zdarzeniu odłączenia nośnika.
Po wykryciu rozłączenia nośnika następuje następująca sekwencja:
Sprzęt karty sieciowej wykrywa zdarzenie rozłączenia nośnika i przekazuje informacje do sterownika miniportu.
Sterownik miniportu powiadamia NDIS o zdarzeniu odłączenia nośnika za pomocą wskazania stanu NDIS_STATUS_LINK_STATE. Członek StatusBuffer w strukturze NDIS_STATUS_INDICATION zawiera strukturę typu NDIS_LINK_STATE. Wartość MediaConnectStateDisconnected jest ustawiona w MediaConnectState składowej struktury NDIS_LINK_STATE.
Usługa NDIS używa OID_PM_PARAMETERS, aby wyłączyć funkcję Wake-on-LAN i włączyć funkcję wake on media Connect (NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED jest ustawiona w elemencie WakeUpFlags).
NDIS używa identyfikatora OID OID_PNP_SET_POWER do informowania sterownika miniportu o nowym stanie zasilania (D3).
Usługa NDIS wysyła magistralę PCIe IRP_MN_WAIT_WAKE IRP, aby poczekać na ponowne nawiązanie połączenia.
NDIS ustawia magistralę PCIe w stan D3 poprzez IRP IRP_MN_SET_POWER .
Na poniższej ilustracji przedstawiono sekwencję zdarzeń w celu przywrócenia pełnej zasilania do karty sieciowej po zdarzeniu połączenia multimediów.
Po ponownym połączeniu nośnika następuje następująca sekwencja:
Karta sieciowa wznawia system przez aktywację sygnału WAKE# na magistrali PCIe lub PME# na magistrali PCI.
Autobus kończy oczekujące IRP_MN_WAIT_WAKE IRP. Protokół IRP jest w trakcie ukończenia ostatniego kroku w sekwencji rozłączania.
NDIS ustawia magistralę na pełną moc (D0) z użyciem IRP IRP_MN_SET_POWER IRP.
NDIS powiadamia sterownik miniportu, że karta sieciowa jest w stanie pełnego zasilania (D0) za pomocą żądania ustawienia identyfikatora OID OID_PNP_SET_POWER.
Karta sieciowa powiadamia NDIS o zdarzeniu połączenia multimediów ze wskazaniem stanu NDIS_STATUS_LINK_STATE. Wartość MediaConnectStateConnected jest ustawiona w MediaConnectState składowej struktury NDIS_LINK_STATE.
Począwszy od NDIS 6.30, jeśli sterownik miniportu obsługuje NDIS_STATUS_PM_WAKE_REASON wskazania stanu, musi wydać to powiadomienie o stanie, jeśli karta sieciowa wznawia system. Sterownik wystawia to powiadomienie o stanie, gdy obsługuje żądanie ustawienia OID OID_PNP_SET_POWER w celu przejścia do stanu pełnego zasilania (D0).
Aby uzyskać więcej informacji, zobacz NDIS Wake Reason Status Indications.
Uwaga Jeśli sterownik miniportu wystawia wskaźnik stanu NDIS_STATUS_PM_WAKE_REASON, musi to zrobić przed wydaniem wskazania stanu NDIS_STATUS_LINK_STATE.