OID_SWITCH_NIC_RESTORE
Граница протокола расширяемого коммутатора Hyper-V выдает запрос на набор идентификатора объекта (OID) OID_SWITCH_NIC_RESTORE для уведомления расширения расширяемого коммутатора о данных времени выполнения, которые можно восстановить для порта расширяемого коммутатора и его подключения к сетевому адаптеру.
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на структуру NDIS_SWITCH_NIC_SAVE_STATE . Эта структура выделяется краем протокола расширяемого коммутатора.
Комментарии
Когда он получает запрос на набор OID OID_SWITCH_NIC_RESTORE, расширение расширяемого коммутатора должно сначала определить, является ли оно владельцем данных времени выполнения. Расширение делает это путем сравнения значения элемента ExtensionIdструктуры NDIS_SWITCH_NIC_SAVE_STATE со значением GUID, которое расширение использует для идентификации себя.
Если расширение владеет данными времени выполнения для порта расширяемого коммутатора, оно восстанавливает эти данные следующим образом:
Расширение копирует данные времени выполнения в элементе SaveData в хранилище, выделенное расширением.
Примечание Значение элемента PortId структуры NDIS_SWITCH_NIC_SAVE_STATE может отличаться от значения PortId на момент сохранения данных во время выполнения. Это может произойти, если данные времени выполнения были сохранены во время динамической миграции с одного узла на другой. Однако конфигурация порта расширяемого коммутатора сохраняется во время динамической миграции. Это позволяет расширению восстанавливать данные времени выполнения на порт расширяемого коммутатора, используя новое значение PortId .
Расширение завершает запрос на набор OID с помощью NDIS_STATUS_SUCCESS.
Если расширение не владеет указанными данными времени выполнения, оно вызывает NdisFOidRequest , чтобы перенаправить этот запрос на набор OID базовым расширениям в стеке драйвера расширяемого коммутатора. В этом случае расширение не должно изменять структуру NDIS_SWITCH_NIC_SAVE_STATE , связанную с запросом OID.
Если запрос на набор OID_SWITCH_NIC_RESTORE получен краем минипорта расширяемого коммутатора, он завершает запрос OID с NDIS_STATUS_SUCCESS. Это уведомляет границу протокола расширяемого коммутатора о том, что ни одному расширению не принадлежат данные времени выполнения.
Дополнительные сведения о восстановлении данных среды выполнения см. в разделе Восстановление данных расширенного коммутатора Hyper-V Run-Time.
Примечание Если расширение не выполняет запрос на набор OID, расширяемый коммутатор завершится сбоем всей операции восстановления. В результате расширение должно избегать сбоя запроса OID, если это возможно. Например, если расширение не может выделить ресурс, необходимый для восстановления данных времени выполнения, оно должно завершить запрос OID, если он не может работать должным образом без восстановления данных времени выполнения. Однако если расширение может восстановиться после сбоя, оно не должно завершать запрос на набор OID.
Коды состояния возврата
Если расширение завершает запрос набора OID OID_SWITCH_NIC_RESTORE, оно возвращает один из следующих кодов состояния.
Код состояния | Описание |
---|---|
NDIS_STATUS_SUCCESS |
Запрос OID успешно завершен. |
NDIS_STATUS_Xxx |
Сбой запроса по другим причинам. |
Требования
Версия |
Поддерживается в NDIS 6.30 и более поздних версиях. |
Заголовок |
Ntddndis.h (включая Ndis.h) |