Функция 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 |