Udostępnij za pośrednictwem


OID_PM_ADD_PROTOCOL_OFFLOAD

Jako zestaw sterowniki protokołów NDIS używają OID_PM_ADD_PROTOCOL_OFFLOAD OID, aby dodać odciążanie protokołu do zarządzania energią do karty sieciowej. Element InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do struktury NDIS_PM_PROTOCOL_OFFLOAD.

Uwagi

Sterowniki protokołów NDIS 6.20 i nowszych używają OID_PM_ADD_PROTOCOL_OFFLOAD OID, aby dodać odciążanie protokołu do zarządzania energią do karty sieciowej. Jeśli żądanie zakończy się pomyślnie, karta sieciowa musi wygenerować i przesłać niezbędne pakiety odpowiedzi dla protokołu odciążonego, gdy karta sieciowa jest w stanie niskiego zasilania.

Sterownik protokołu może odciążyć protokół po pomyślnym powiązaniu z podstawową kartą sieciową i natychmiast, gdy ma niezbędne dane (takie jak adres IP interfejsu), aby odciążyć protokół. Sterownik protokołu może również odciążyć protokół w odpowiedzi na inne powiadomienia o zdarzeniach zarządzania energią, takie jak odrzucenie wcześniej dodanego wzorca WOL lub odciążonego protokołu.

Aby uniknąć warunków wyścigu w sieci NDIS i innych sterowników protokołów, które są powiązane z tą samą kartą miniportową, po rozpoczęciu przez NDIS ustawienie karty sieciowej na niski stan zasilania, próba odciążenia innego protokołu do tej karty sieciowej zakończy się niepowodzeniem. Jeśli na przykład sterownik protokołu NDIS próbuje odciążyć protokół w kontekście przetwarzania NetEventSetPower powiadomienia o zdarzeniu dla tej karty sieciowej, usługa NDIS zakończy się niepowodzeniem żądania.

Zanim usługa NDIS wyśle to żądanie identyfikatora OID do podstawowych sterowników NDIS lub ukończy żądanie do nadmiernego sterownika, ustawia ULONG ProtocolOffloadId składowej struktury NDIS_PM_PROTOCOL_OFFLOAD na unikatową wartość. Sterowniki protokołów i NDIS używają tego identyfikatora odciążania protokołu z żądaniem OID_PM_REMOVE_PROTOCOL_OFFLOAD OID, aby usunąć odciążanie protokołu z podstawowej karty sieciowej.

Uwaga Identyfikator odciążania protokołu jest unikatową wartością dla każdego odciążania protokołu ustawionego na karcie sieciowej. Jednak identyfikator odciążania protokołu nie jest globalnie unikatowy dla wszystkich kart sieciowych.

Jeśli NDIS lub podstawowa karta sieciowa odrzuca odciążanie, generuje NDIS_STATUS_PM_OFFLOAD_REJECTED wskazanie stanu. Może to wystąpić po powrocie NDIS_STATUS_SUCCESS dla OID. Element członkowski StatusBuffer struktury NDIS_STATUS_INDICATION zawiera identyfikator odciążania protokołu ULONG odrzuconego odciążania protokołu.

Aby uzyskać informacje na temat sposobu, w jaki sterownik bezprzewodowej sieci LAN natywny 802.11 używa tego identyfikatora OID, zobacz Dodawanie i usuwanie odciążania protokołu niskiego zasilania.

Sterownik miniportu zwraca jeden z następujących kodów stanu dla żądania:

NDIS_STATUS_SUCCESS
Żądany odciążanie protokołu zostało pomyślnie dodane. Element członkowski ProtocolOffloadId struktury NDIS_PM_PROTOCOL_OFFLOAD zawiera identyfikator odciążania protokołu.

NDIS_STATUS_PENDING
Żądanie oczekuje na ukończenie. Usługa NDIS przekaże końcowy kod stanu i wyniki do procedury obsługi ukończenia żądania OID obiektu wywołującego po zakończeniu żądania.

NDIS_STATUS_PM_PROTOCOL_OFFLOAD_LIST_FULL
Żądanie nie powiodło się, ponieważ lista odciążania protokołu jest pełna, a karta sieciowa nie może dodać innego odciążania protokołu.

NDIS_STATUS_RESOURCES
NDIS lub podstawowa karta sieciowa nie mogła dodać nowego odciążenia protokołu z powodu braku zasobów.

NDIS_STATUS_INVALID_PARAMETER
Co najmniej jeden parametr w strukturze NDIS_PM_PROTOCOL_OFFLOAD był nieprawidłowy.

NDIS_STATUS_BUFFER_TOO_SHORT
Bufor informacyjny był zbyt krótki. NDIS ustaw DATA. SET_INFORMATION. BajtyNowe składowe w strukturze NDIS_OID_REQUEST do minimalnego wymaganego rozmiaru buforu.

NDIS_STATUS_NOT_SUPPORTED
Karta sieciowa nie obsługuje żądanego odciążania protokołu.

NDIS_STATUS_FAILURE
Żądanie nie powiodło się z powodów innych niż poprzednie.

Wymagania

Wersja

Obsługiwane w usłudze NDIS 6.20 lub nowszym. Obowiązkowe dla sterowników miniportu.

Nagłówek

Ntddndis.h (m.in. Ndis.h)

Zobacz też

NDIS_OID_REQUEST

NDIS_PM_PROTOCOL_OFFLOAD

NDIS_STATUS_INDICATION

NDIS_STATUS_PM_OFFLOAD_REJECTED

OID_PM_REMOVE_PROTOCOL_OFFLOAD

dodawanie i usuwanie odciążeń protokołu niskiego zużycia energii