функция обратного вызова FILTER_DEVICE_PNP_EVENT_NOTIFY (ndis.h)

NDIS вызывает функцию FilterDevicePnPEventNotify драйвера фильтра, чтобы уведомить драйвер о событиях Plug and Play устройства (PnP) и управления питанием.

Примечание Функцию необходимо объявить с помощью типа FILTER_DEVICE_PNP_EVENT_NOTIFY . Дополнительные сведения см. в следующем разделе Примеры.
 

Синтаксис

FILTER_DEVICE_PNP_EVENT_NOTIFY FilterDevicePnpEventNotify;

void FilterDevicePnpEventNotify(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNET_DEVICE_PNP_EVENT NetDevicePnPEvent
)
{...}

Параметры

[in] FilterModuleContext

Дескриптор области контекста для модуля фильтра. Драйвер фильтра создал и инициализировал эту область контекста в функции FilterAttach .

[in] NetDevicePnPEvent

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

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

None

Remarks

FilterDevicePnPEventNotify является необязательной функцией. Если драйвер фильтра не использует запросы PnP устройства, он может задать точке входа для этой функции значение NULL при вызовеФункция NdisFRegisterFilterDriver.

FilterDevicePnPEventNotify похож на драйвер мини-портаФункция MiniportDevicePnPEventNotify. Драйверы фильтров могут пересылать эти уведомления базовым драйверам. Чтобы переслать запрос, вызовитеФункция NdisFDevicePnPEventNotify.

NDIS вызывает FilterDevicePnPEventNotify по адресу IRQL = PASSIVE_LEVEL.

Примеры

Чтобы определить функцию FilterDevicePnPEventNotify , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции. Windows предоставляет набор типов функций для драйверов. Объявление функции с помощью типов функций помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.

Например, чтобы определить функцию FilterDevicePnPEventNotify с именем MyDevicePnPEventNotify, используйте тип FILTER_DEVICE_PNP_EVENT_NOTIFY , как показано в следующем примере кода:

FILTER_DEVICE_PNP_EVENT_NOTIFY MyDevicePnPEventNotify;

Затем реализуйте функцию следующим образом:

_Use_decl_annotations_
VOID
 MyDevicePnPEventNotify(
    NDIS_HANDLE  FilterModuleContext,
    PNET_DEVICE_PNP_EVENT  NetDevicePnPEvent
    )
  {...}

Тип функции FILTER_DEVICE_PNP_EVENT_NOTIFY определен в файле заголовка Ndis.h. Чтобы более точно определить ошибки при запуске средств анализа кода, не забудьте добавить заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, применяемых к типу функции FILTER_DEVICE_PNP_EVENT_NOTIFY в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в статье Объявление функций с помощью типов ролей функций для драйверов NDIS.

Сведения о Use_decl_annotations см. в статье Поведение функции с заметками.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Целевая платформа Windows
Header ndis.h (включая Ndis.h)
IRQL PASSIVE_LEVEL

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

FilterAttach

MiniportDevicePnPEventNotify

NET_DEVICE_PNP_EVENT

NdisFDevicePnPEventNotify

NdisFRegisterFilterDriver

NdisWriteEventLogEntry