Функция NdisMAllocatePort (ndis.h)

Функция NdisMAllocatePort выделяет порт NDIS, связанный с адаптером мини-порта.

Синтаксис

NDIS_STATUS NdisMAllocatePort(
            NDIS_HANDLE                NdisMiniportHandle,
  [in, out] PNDIS_PORT_CHARACTERISTICS PortCharacteristics
);

Параметры

NdisMiniportHandle

Дескриптор адаптера мини-порта, переданный NDIS параметру MiniportAdapterHandle Функция MiniportInitializeEx .

[in, out] PortCharacteristics

Указатель на NDIS_PORT_CHARACTERISTICS структуру, которая определяет характеристики порта.

Возвращаемое значение

NdisMAllocatePort может возвращать одно из следующих значений:

Код возврата Описание
NDIS_STATUS_SUCCESS
NDIS успешно выделила ресурсы для порта.
NDIS_STATUS_RESOURCES
NDIS не удалось выделить ресурсы для порта.
NDIS_STATUS_CLOSING
Не удалось выделить порт, так как связанный адаптер мини-порта закрывается.
NDIS_STATUS_INVALID_DATA
Недопустимые данные, предоставленные в параметре PortCharacteristics .

Комментарии

Функция NdisMAllocatePort выделяет ресурсы и номер порта для порта, связанного с адаптером мини-порта. Порт не активен, пока драйвер мини-порта не выдает для порта событие NetEventPortActivation Plug and Play (PnP).

После того как драйвер мини-порта активирует порт, NDIS создает уведомление PnP для выше водителей. Если слишком большой драйвер или приложение пользовательского режима выдает OID_GEN_ENUMERATE_PORTS OID для перечисления портов адаптера мини-порта, NDIS не включает неактивные выделенные порты в список портов.

Когда NdisMAllocatePort успешно возвращается, элемент PortNumber элемента NDIS_PORT_CHARACTERISTICS структура, указываемая параметром PortCharacteristics , имеет номер порта, назначенный NDIS порту.

После того как порт больше не требуется, драйвер мини-порта должен вызвать функцию NdisMFreePort , чтобы освободить порт.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL <= DISPATCH_LEVEL

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

Выделение порта NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS