Udostępnij za pośrednictwem


OID_SWITCH_NIC_SAVE

Krawędź protokołu Hyper-V rozszerzalnego przełącznika wystawia żądanie metody identyfikatora obiektu (OID) OID_SWITCH_NIC_SAVE podczas operacji zapisywania danych czasu wykonywania dla portu rozszerzalnego przełącznika i połączenia karty sieciowej. Rozszerzenie zwraca te dane, aby dane czasu wykonywania można było zapisywać i przywracać w późniejszym czasie. Po zapisaniu danych w czasie wykonywania są przywracane za pomocą żądań zestawu identyfikatorów OID OID_SWITCH_NIC_RESTORE.

Element InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do struktury NDIS_SWITCH_NIC_SAVE_STATE. Ta struktura jest przydzielana przez krawędź protokołu przełącznika rozszerzalnego.

Uwagi

Po odebraniu żądania metody OID OID_SWITCH_NIC_SAVE rozszerzenie rozszerzalnego przełącznika zapisuje dane czasu wykonywania, wykonując następujące czynności:

  • Rozszerzenie zapisuje dane w strukturze NDIS_SWITCH_NIC_SAVE_STATE począwszy od SaveDataOffset bajtów od początku struktury.

  • Jeśli podany SaveDataSize nie jest wystarczająco duży, aby przechowywać wymagane dane zapisu, rozszerzenie ustawia bytesNeeded pola metody, aby NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 oraz ilość buforu niezbędnego do przechowywania danych zapisywania i kończy identyfikator OID za pomocą NDIS_STATUS_BUFFER_TOO_SHORT. OID zostanie ponownie wyświetlony z wymaganym rozmiarem.

  • Rozszerzenie wypełnia pola ExtensionId i ExtensionFriendlyName własnym identyfikatorem i nazwą, a następnie kończy żądanie metody OID NDIS_STATUS_SUCCESS. Powoduje to, że krawędź protokołu rozszerzalnego przełącznika wysyła kolejne żądanie metody OID, aby umożliwić rozszerzenie zwracanie większej ilości danych zapisu lub zezwalanie innym rozszerzeń w dół stosu na zapisywanie własnych danych.

Uwaga Jeśli rozszerzenie nie ma danych czasu wykonywania do zapisania, musi wywołać NdisFOidRequest, aby przekazać żądanie tej metody OID do bazowych rozszerzeń w rozszerzalnym stosie sterownika przełącznika. Aby uzyskać więcej informacji na temat tej procedury, zobacz Filtrowanie żądań OID w sterowniku filtru NDIS.

Przełącznik rozszerzalny Hyper-V wypełnia Header, PortId, NicIdex, SaveDataSize i SaveDataOffset pól struktury przed wydaniem identyfikatora OID. Rozszerzenie nie może modyfikować tych pól.

Żądania metody OID OID_SWITCH_NIC_SAVE są ostatecznie obsługiwane przez podstawową krawędź miniportu przełącznika rozszerzalnego. Po odebraniu tego żądania metody OID przez miniport krawędzi przełącznika rozszerzalnego, kończy żądanie OID za pomocą NDIS_STATUS_SUCCESS. Spowoduje to powiadomienie o krawędzi protokołu rozszerzalnego przełącznika, że wszystkie rozszerzenia w rozszerzalnym stosie sterowników przełącznika zostały zapytane o dane czasu wykonywania. Krawędź protokołu przełącznika rozszerzalnego następnie wystawia żądanie zestawu identyfikatorów OID OID_SWITCH_NIC_SAVE_COMPLETE, aby ukończyć operację zapisywania.

Aby uzyskać więcej informacji na temat zapisywania danych czasu wykonywania dla rozszerzalnego portu przełącznika, zobacz Zapisywanie przełącznika Hyper-V rozszerzalnego przełącznika Run-Time danych.

Kody stanu powrotu

Rozszerzenie przełącznika rozszerzalnego zwraca jeden z następujących kodów stanu dla żądania metody OID OID_SWITCH_NIC_SAVE.

Kod stanu Opis

NDIS_STATUS_BUFFER_TOO_SHORT

Długość buforu informacji jest zbyt mała dla NDIS_SWITCH_NIC_SAVE_STATE, a skojarzone z nim dane czasu wykonywania Rozszerzenie rozszerzalnego przełącznika musi ustawić DANE. METHOD_INFORMATION. BytesNeeded elementu członkowskiego w strukturze NDIS_OID_REQUEST do minimalnego wymaganego rozmiaru buforu.

NDIS_STATUS_SUCCESS

Rozszerzenie zwraca ten stan, jeśli zwraca dane czasu wykonywania do zapisania.

NDIS_STATUS_Xxx

Żądanie nie powiodło się z innych powodów.

Podstawowa krawędź miniportu przełącznika rozszerzalnego zwraca następujący kod stanu dla żądania metody OID OID_SWITCH_NIC_SAVE.

Kod stanu Opis

NDIS_STATUS_SUCCESS

Żądanie OID zostało ukończone pomyślnie.

Wymagania

Wersja

Obsługiwane w usłudze NDIS 6.30 i nowszych wersjach.

Nagłówek

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

Zobacz też


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest

OID_SWITCH_NIC_RESTORE

OID_SWITCH_NIC_SAVE_COMPLETE