Udostępnij za pośrednictwem


OID_SWITCH_NIC_RESTORE

Krawędź protokołu Hyper-V rozszerzalnego przełącznika wystawia żądanie zestawu identyfikatora obiektu (OID) OID_SWITCH_NIC_RESTORE w celu powiadomienia rozszerzalnego rozszerzenia przełącznika o danych czasu wykonywania, które można przywrócić dla rozszerzalnego portu przełącznika i jego połączenia karty sieciowej.

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 zestawu identyfikatorów OID OID_SWITCH_NIC_RESTORE rozszerzenie rozszerzalnego przełącznika musi najpierw określić, czy jest właścicielem danych czasu wykonywania. Rozszerzenie robi to, porównując wartość ExtensionId składowej struktury NDIS_SWITCH_NIC_SAVE_STATE z wartością GUID, która jest używana przez rozszerzenie do identyfikowania siebie.

Jeśli rozszerzenie jest właścicielem danych czasu wykonywania dla rozszerzalnego portu przełącznika, przywraca te dane w następujący sposób:

  1. Rozszerzenie kopiuje dane czasu wykonywania w SaveData do magazynu przydzielonego do rozszerzenia.

    Uwaga Wartość elementu członkowskiego portidNDIS_SWITCH_NIC_SAVE_STATE może różnić się od wartości PortId w momencie zapisania danych w czasie wykonywania. Taka sytuacja może wystąpić, jeśli dane czasu wykonywania zostały zapisane podczas migracji na żywo z jednego hosta do innego. Jednak konfiguracja rozszerzalnego portu przełącznika jest zachowywana podczas migracji na żywo. Dzięki temu rozszerzenie może przywrócić dane czasu wykonywania na rozszerzalnym porcie przełącznika przy użyciu nowej wartości PortId.

  2. Rozszerzenie kończy żądanie zestawu identyfikatorów OID za pomocą NDIS_STATUS_SUCCESS.

Jeśli rozszerzenie nie jest właścicielem określonych danych czasu wykonywania, rozszerzenie wywołuje NdisFOidRequest, aby przekazać to żądanie zestawu identyfikatorów OID do rozszerzeń bazowych w rozszerzalnym stosie sterowników przełącznika. W takim przypadku rozszerzenie nie może modyfikować struktury NDIS_SWITCH_NIC_SAVE_STATE skojarzonej z żądaniem OID.

Jeśli żądanie zestawu OID_SWITCH_NIC_RESTORE jest odbierane przez krawędź miniportu przełącznika rozszerzalnego, kończy żądanie OID za pomocą NDIS_STATUS_SUCCESS. Spowoduje to powiadomienie o krawędzi protokołu rozszerzalnego przełącznika, że żadne rozszerzenie nie jest właścicielem danych czasu wykonywania.

Aby uzyskać więcej informacji na temat przywracania danych w czasie wykonywania, zobacz Przywracanie przełącznika Hyper-V rozszerzalnego przełącznika Run-Time.

Uwaga Jeśli rozszerzenie zakończy się niepowodzeniem żądania zestawu identyfikatorów OID, rozszerzalny przełącznik zakończy się niepowodzeniem całej operacji przywracania. W związku z tym rozszerzenie powinno unikać niepowodzenia żądania OID, jeśli jest to możliwe. Jeśli na przykład rozszerzenie nie może przydzielić zasobu niezbędnego do przywrócenia danych w czasie wykonywania, żądanie identyfikatora OID powinno zakończyć się niepowodzeniem, jeśli nie może działać prawidłowo bez przywracania danych czasu wykonywania. Jeśli jednak rozszerzenie może odzyskać sytuację niepowodzenia, nie powinno zakończyć się niepowodzeniem żądania zestawu identyfikatorów OID.

Kody stanu powrotu

Jeśli rozszerzenie ukończy żądanie zestawu identyfikatorów OID OID_SWITCH_NIC_RESTORE, zwraca jeden z następujących kodów stanu.

Kod stanu Opis

NDIS_STATUS_SUCCESS

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

NDIS_STATUS_Xxx

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

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