Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба WIA уведомляет минидрайвер WIA о поддерживаемом событии устройства путем вызова метода IWiaMiniDrv::drvNotifyPnpEvent. В этом методе минидрайвер реализует специфичные для устройства функции, необходимые для реагирования на событие. Служба WIA вызывает метод IWiaMiniDrv::drvNotifyPnpEvent только для тех событий, которые минидрайвер указал, что устройство может поддерживать, в методе IWiaMiniDrv::drvGetCapabilities.
Минидрайвер инициирует событие либо через механизм событий STI, либо с помощью wiasQueueEvent для добавления уведомления о событии с этого устройства в очередь событий.
Асинхронное поведение: управление питанием и отмена ввода-вывода
В большинстве случаев служба WIA гарантирует, что вызов выполняется, опускаясь до уровня драйвера, одновременно только один раз. Однако некоторые методы по сути асинхронны и повторно используются в природе. Хорошим примером этого является метод IWiaMiniDrv::drvNotifyPnpEvent.
Служба WIA использует этот метод для уведомления драйвера событий, которые могут потребовать немедленного действия. Например, когда служба WIA получает событие Plug and Play, указывающее, что устройство было удалено, оно немедленно сообщает драйверу. Другие примеры включают события управления питанием и запросы на отмену ввода-вывода из приложений.
Пример реализации метода IWiaMiniDrv::drvNotifyPnpEvent, который иллюстрирует, как следует реагировать на различные виды событий, см. в разделе Добавление поддержки событий прерываний.