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

Примечание NDIS 5. X является нерекомендуемым и заменен NDIS 6. x. Сведения о разработке новых драйверов NDIS см. в статье Сетевые драйверы, начиная с Windows Vista. Сведения о переносе NDIS 5. x драйверы для NDIS 6. x, см. раздел Перенос драйверов NDIS 5.x в NDIS 6.0.

NdisIMNotifyPnPEvent распространяет уведомление о событии Plug and Play или управления питанием на более чем наложенный драйвер.

Синтаксис

NDIS_STATUS NdisIMNotifyPnPEvent(
  [in] NDIS_HANDLE    MiniportHandle,
  [in] PNET_PNP_EVENT NetPnPEvent
);

Параметры

[in] MiniportHandle

Входные данные дескриптора для MiniportInitialize. Этот дескриптор представляет драйвер мини-порта, на который влияет Plug and Play или событие управления питанием, переданное функции ProtocolPnPEvent вызывающего объекта.

[in] NetPnPEvent

Указатель на структуру NET_PNP_EVENT, которая описывает событие Plug and Play или событие управления питанием, указывающее драйверу протокола.

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

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

Код возврата Описание
NDIS_STATUS_SUCCESS Превышение драйвера успешно распространено Plug and Play событие было успешно выполнено.
NDIS_STATUS_FAILURE Драйверу overlying не удалось выполнить распространение события Plug and Play.

Возвращаемое значение имеет значение, только если распространяемое событие является NetEventQueryPower или NetEventQueryRemove. Для всех остальных распространяемых событий возвращаемое значение всегда NDIS_STATUS_SUCCESS.

Комментарии

Промежуточный драйвер NDIS вызывает NdisIMNotifyPnPEvent в контексте функции ProtocolPnPEvent драйвера, чтобы распространить уведомление о событии Plug and Play или управления питанием в вышеопределяющий драйвер.

Если распространяемое событие является NetEventQueryPower или NetEventQueryRemove, промежуточный драйвер должен проверка значение NDIS_STATUS, возвращаемое NdisIMNotifyPnPEvent. Если возвращенное состояние NDIS_STATUS_SUCCESS, промежуточный драйвер должен обрабатывать событие как обычно, а затем возвращать NDIS_STATUS_SUCCESS из функции ProtocolPnPEvent . Если возвращенное состояние NDIS_STATUS_FAILURE, промежуточный драйвер должен вернуть NDIS_STATUS_FAILURE из своего события ProtocolPnPEvent без дальнейшей обработки.

Для всех остальных распространяемых событий NdisIMNotifyPnPEvent всегда возвращает NDIS_STATUS_SUCCESS. Функция ProtocolPnPEvent промежуточного драйвера в таких случаях должна распространять NDIS_STATUS, возвращенные NdisIMNotifyPnPEvent.

То, как промежуточный драйвер обрабатывает NetEventSetPower , полученный функцией ProtocolPnPEvent , зависит от указанного состояния питания устройства. Если указанное состояние питания устройства — NdisDeviceStateD0, промежуточный драйвер должен обрабатывать событие как обычно, а затем вызывать NdisIMNotifyPnPEvent. Для любого другого указанного состояния питания устройства промежуточный драйвер должен сначала вызвать NdisIMNotifyPnPEvent , а затем обработать событие внутренне, как обычно.

Промежуточный драйвер должен вызывать NdisIMNotifyPnPEvent для распространения NetEventReconfigure или NetEventBindList только в том случае, если NetEventReconfigure или NetEventBindList указан в протоколе ProtocolBindingContext, отличном от NULL. Если netEventReconfigure или NetEventBindList указан в nullProtocolBindingContext, промежуточный драйвер не должен вызывать NdisIMNotifyPnPEvent для распространения события.

Если промежуточный драйвер обрабатывает NetEventReconfigure или NetEventBindList, он должен проверить все данные, связанные с событием. (Дополнительные сведения о таких данных см. в разделе NET_PNP_EVENT для драйверов протоколов.)

Системная поддержка NdisIMNotifyPnPEvent доступна в Windows XP и более поздних версиях.

  • Целевая платформа: универсальная
  • Версия: не поддерживается для драйверов NDIS 6.0 в Windows Vista. Вместо этого используйте NdisMNetPnPEvent. Поддерживается для драйверов NDIS 5.1 в Windows Vista и Windows XP.

Требования

Требование Значение
Заголовок ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL PASSIVE_LEVEL

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