Функция 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 успешно выделила ресурсы для порта. |
|
NDIS не удалось выделить ресурсы для порта. |
|
Не удалось выделить порт, так как связанный адаптер мини-порта закрывается. |
|
Недопустимые данные, предоставленные в параметре 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 |