структура NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES (ndis.h)
Драйвер мини-порта NDIS настраивает структуру NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES для определения атрибутов регистрации, связанных с адаптером мини-порта.
Синтаксис
typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES {
NDIS_OBJECT_HEADER Header;
NDIS_HANDLE MiniportAdapterContext;
ULONG AttributeFlags;
UINT CheckForHangTimeInSeconds;
NDIS_INTERFACE_TYPE InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;
Члены
Header
Тип, редакция и размер структуры NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES . Этот элемент имеет формат структуры NDIS_OBJECT_HEADER .
Драйвер мини-порта должен задать для элемента Typeзаголовка значение NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. Чтобы указать версию структуры NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES , драйвер должен задать для элемента Редакциизаголовка одно из следующих значений:
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2
Добавлены флаги AttributeFlags для NDIS 6.30.
Задайте для элемента Размер значение NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2.
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1
Исходная версия для NDIS 6.0.
Задайте для элемента Размер значение NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1.
MiniportAdapterContext
Дескриптор контекстной области, выделенной драйвером мини-порта в функции MiniportInitializeEx . Драйвер мини-порта использует эту контекстную область для хранения сведений о состоянии адаптера мини-порта.
AttributeFlags
Битовая маска флагов, объединенных с побитовой или. Драйверы мини-порта NDIS должны установить один или несколько из следующих флагов:
NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE
Установите значение , если драйвер мини-порта непосредственно управляет физическим устройством. Физическому устройству назначаются аппаратные ресурсы, такие как прерывания, порты ввода-вывода, сопоставленные с памятью операции ввода-вывода или каналы DMA, которые драйвер мини-порта должен запрашивать изФункция MiniportInitializeEx.
NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM
Установите значение , если интерфейс нижнего уровня адаптера мини-порта является драйвером шины WDM, например USB или IEEE 1394. В этом случае драйвер мини-порта не выделяет аппаратные ресурсы, такие как порты ввода-вывода, прерывания, сопоставленные в памяти операции ввода-вывода или каналы DMA. Вместо этого драйвер взаимодействует с устройством через интерфейс WDM базового драйвера шины.
NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER
Укажите, является ли сетевой адаптер вызывающего абонента устройством DMA master шины.
NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND
Установите значение , если NDIS не должен вызывать функцию MiniportHaltEx драйвера мини-порта, прежде чем система перейдет в маломощное (спящее) состояние. Драйверы, использующие состояние, поддерживаемое оборудованием, не должны устанавливать этот флаг.
NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK
Установите значение , если драйвер мини-порта может обрабатывать удаление сетевой карты без уведомления пользователя. Драйверы NDIS получают уведомления о неожиданном удалении на страницеФункция MiniportDevicePnPEventNotify.
NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS
Устанавливается драйвером мини-порта, который может поддерживать как устройства, ориентированные на подключение, так и устройства без подключения, чтобы указать, что устройство является устройством без подключения.
NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO
Устанавливается драйвером мини-порта CoNDIS, который не предоставляет службы TAPI. Настройка NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO предотвращает привязку драйвера минипорта NDIS к драйверу прокси-сервера NDIS TAPI (NDPROXY). По умолчанию NDIS привязывает NDPROXY ко всем драйверам мини-портов CoNDIS.
NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT
Устанавливается драйвером мини-порта, который вызывает функцию NdisMNetPnPEvent для активации порта по умолчанию. Если NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT не задано, порт по умолчанию активен. NDIS не привязывает драйверы протокола или не присоединяет модули фильтров к адаптеру мини-порта, если порт по умолчанию не активен.
NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND
Начиная с версии NDIS 6.30 этот флаг устанавливается, если драйвер мини-порта может перейти в маломощное состояние без приостановки.
Дополнительные сведения об этом флаге см. в разделе Примечания.
NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK
Начиная с минипортов NDIS 6.30, NDIS не будет вызывать обработчик MiniportShutdownEx минипорта во время проверки ошибок, если этот флаг не установлен. Большинство мини-портов не должны устанавливать этот флаг.
CheckForHangTimeInSeconds
Интервал времени ожидания (в секундах), в течение которого NDIS должен вызыватьФункция MiniportCheckForHangEx. Если драйвер мини-порта не ответил на запрос OID или запрос на отправку в течение двух последовательных вызовов MiniportCheckForHangEx, NDIS может вызвать функцию MiniportResetEx драйвера минипорта .
Интервал, который NDIS использует при вызове MiniportCheckForHangEx , всегда кратен 2 секундам. Например, если указать 5 секунд, интервал будет составлять примерно 4 секунды.
Если этот элемент равен 0, интервал времени ожидания по умолчанию составляет 2 секунды.
InterfaceType
Тип интерфейса шины ввода-вывода адаптера мини-порта. Обычно это тип шины ввода-вывода, к которой подключен адаптер мини-порта. В NDIS 6.0 поддерживаются следующие значения:
NdisInterfaceInternal
Указывает внутренний интерфейс для конкретного узла.
NdisInterfaceIsa
Указывает интерфейс ISA.
NdisInterfaceEisa
Указывает расширенный интерфейс ISA (EISA). Этот тип интерфейса не поддерживается в NDIS 6.0 и более поздних версиях.
NdisInterfaceMca
Относится к шине MCA, которая больше не поддерживается. Этот тип интерфейса не поддерживается в NDIS 6.0 и более поздних версиях.
NdisInterfaceTurboChannel
Указывает интерфейс Turbo Channel.
NdisInterfacePci
Указывает интерфейс PCI.
NdisInterfacePcMcia
Указывает интерфейс Международной ассоциации карт памяти персонального компьютера (PC Card).
NdisInterfaceCBus
Указывает CBus.
NdisInterfaceMPIBus
Указывает MPIBus.
NdisInterfaceMPSABus
Указывает MPSABus.
NdisInterfaceProcessorInternal
Указывает внутреннюю шину процессора.
NdisInterfaceInternalPowerBus
Указывает внутреннюю шину питания.
NdisInterfacePNPISABus
Указывает PNPISABus.
NdisInterfacePNPBus
Указывает PNPBus.
Этот параметр не имеет значения для промежуточных драйверов, которые должны указывать 0 для этого элемента.
Комментарии
Драйвер мини-порта передает указатель на структуру NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES в параметре MiniportAttributes объектаФункция NdisMSetMiniportAttributes. Драйвер мини-порта вызывает NdisMSetMiniportAttributes из функции MiniportInitializeEx во время инициализации.
Драйверы miniport должны задавать атрибуты в NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES как можно скорее в MiniportInitializeEx. Установка этих атрибутов является обязательной.
Флаг NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND
NDIS выдает запрос OID на OID_PNP_SET_POWER драйверу мини-порта, прежде чем базовый адаптер минипорта перейдет в состояние низкой мощности D1, D2 или D3. Когда драйвер обрабатывает этот OID, он должен подготовить адаптер минипорта к переходу в более низкое состояние питания и не должен ждать завершения ожидающих получения пакетов.В некоторых случаях, прежде чем NDIS выдает запрос OID OID_PNP_SET_POWER драйверу минипорта, NDIS вызывает функцию MiniportPause водителя минипорта , как описано ниже:
- Если флаг NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND не установлен, NDIS вызывает функцию MiniportPause водителя минипорта перед отправкой OID-запроса OID_PNP_SET_POWER драйверу. В контексте вызова MiniportPause драйвер должен дождаться завершения ожидающих получения указаний пакетов.
-
Если установлен флаг NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND , NDIS не вызывает функцию MiniportPause драйвера минипорта до выдачи OID-запроса OID_PNP_SET_POWER драйверу. Когда драйвер минипорта обрабатывает запрос OID, он не должен предполагать, что он был ранее приостановлен при подготовке адаптера минипорта к переходу в состояние с низким энергопотреблением.
Примечание Исключение из этого возникает, когда драйвер протокола или фильтра, поддерживающий NDIS 6.20 или более ранние версии NDIS, привязан или подключен к адаптеру мини-порта. В этом случае NDIS вызывает функцию MiniportPause водителя минипорта независимо от того, устанавливает ли драйвер минипорта флаг NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ndis.h (включая Ndis.h) |
См. также раздел
Операции проверки зависания и сброса адаптера минипорта
MiniportDevicePnPEventNotify