OID_SWITCH_NIC_SAVE

Граница протокола расширяемого коммутатора Hyper-V выдает запрос метода идентификатора объекта (OID) OID_SWITCH_NIC_SAVE во время операции для сохранения данных времени выполнения для порта расширяемого коммутатора и подключения к его сетевому адаптеру. Расширение возвращает эти данные, чтобы данные времени выполнения можно было сохранить и восстановить позже. После сохранения данных времени выполнения они восстанавливаются с помощью запросов на набор OID OID_SWITCH_NIC_RESTORE.

Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на структуру NDIS_SWITCH_NIC_SAVE_STATE . Эта структура выделяется краем протокола расширяемого коммутатора.

Комментарии

При получении запроса метода OID OID_SWITCH_NIC_SAVE расширение расширяемого коммутатора сохраняет данные времени выполнения, выполняя следующие действия.

  • Расширение сохраняет данные в структуре NDIS_SWITCH_NIC_SAVE_STATE , начиная с байтов SaveDataOffset с начала структуры.

  • Если предоставленный параметр SaveDataSize недостаточно велик для хранения необходимых сохраненных данных, расширение устанавливает в поле BytesNeeded в структуре метода значение NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 плюс объем буфера, необходимый для хранения сохраненных данных, и завершает OID с NDIS_STATUS_BUFFER_TOO_SHORT. OID будет переиздано с требуемым размером.

  • Расширение заполняет поля ExtensionId и ExtensionFriendlyName собственным идентификатором и именем, а также завершает запрос метода OID с NDIS_STATUS_SUCCESS. Это приводит к тому, что граница протокола расширяемого коммутатора выдает другой запрос метода OID, чтобы разрешить расширению либо возвращать больше сохраненных данных, либо разрешать другим расширениям в стеке сохранять собственные данные.

Примечание Если у расширения нет данных времени выполнения для сохранения, оно должно вызвать NdisFOidRequest , чтобы перенаправить этот запрос метода OID базовым расширениям в стеке драйвера расширяемого коммутатора. Дополнительные сведения об этой процедуре см. в разделе Фильтрация запросов OID в драйвере фильтра NDIS.

Расширяемый коммутатор Hyper-V заполняет поля Header, PortId, NicIdex, SaveDataSize и SaveDataOffset структуры перед выдачей OID. Расширение не может изменять эти поля.

Запросы метода OID OID_SWITCH_NIC_SAVE в конечном итоге обрабатываются базовым краем мини-порта расширяемого коммутатора. После того как этот запрос метода OID был получен краем минипорта расширяемого коммутатора, он завершает запрос OID с NDIS_STATUS_SUCCESS. Это уведомляет границу протокола расширяемого коммутатора о том, что все расширения в стеке драйверов расширяемого коммутатора были запрошены для данных времени выполнения. Затем граница протокола расширяемого коммутатора отправляет запрос на набор OID OID_SWITCH_NIC_SAVE_COMPLETE для завершения операции сохранения.

Дополнительные сведения о том, как сохранить данные времени выполнения для порта расширяемого коммутатора, см. в статье Сохранение данных расширенного коммутатора Hyper-V Run-Time.

Коды состояния возврата

Расширение расширяемого коммутатора возвращает один из следующих кодов состояния для запроса метода OID OID_SWITCH_NIC_SAVE.

Код состояния Описание

NDIS_STATUS_BUFFER_TOO_SHORT

Длина информационного буфера слишком мала для NDIS_SWITCH_NIC_SAVE_STATE и связанных с ним данных времени выполнения. Расширение расширяемого коммутатора должно задать data. METHOD_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера.

NDIS_STATUS_SUCCESS

Расширение возвращает это состояние, если возвращает данные времени выполнения для сохранения.

NDIS_STATUS_Xxx

Сбой запроса по другим причинам.

Базовый край минипорта расширяемого коммутатора возвращает следующий код состояния для запроса метода OID OID_SWITCH_NIC_SAVE.

Код состояния Описание

NDIS_STATUS_SUCCESS

Запрос OID успешно завершен.

Требования

Версия

Поддерживается в NDIS 6.30 и более поздних версиях.

Заголовок

Ntddndis.h (включая Ndis.h)

См. также раздел


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest

OID_SWITCH_NIC_RESTORE

OID_SWITCH_NIC_SAVE_COMPLETE