Функция обратного вызова PFNKSDEVICEIRP (ks.h)
Подпрограмма обработчика IRP минидрайвера AVStream вызывается, когда эти irP отправляются устройством.
Синтаксис
PFNKSDEVICEIRP Pfnksdeviceirp;
NTSTATUS Pfnksdeviceirp(
[in] PKSDEVICE Device,
[in] PIRP Irp
)
{...}
Параметры
[in] Device
Указатель на KSDEVICE , отправившей IRP.
[in] Irp
IRP, выданный устройством.
Возвращаемое значение
Должен возвращать STATUS_SUCCESS или код ошибки, возвращенный при попытке выполнить операцию. Если это не так, верните соответствующий код ошибки.
Комментарии
IRP | Описание |
---|---|
IRP_MN_QUERY_REMOVE_DEVICE | Мини-driver указывает адрес этой подпрограммы в элементе QueryRemoveструктуры KSDEVICE_DISPATCH . Эта подпрограмма вызывается, когда устройство отправляет IRP_MN_QUERY_REMOVE_DEVICE . Обычно они предоставляются мини-драйверами, которые хотят предотвратить удаление устройства, или мини-дисками, которые должны запрещать действия, которые в противном случае препятствовали бы фиксации операции удаления устройства. Если эта подпрограмма не указана, AVStream предполагает, что устройство может зафиксировать удаление. Подпрограмма вызывается в IRQL = PASSIVE_LEVEL и может не возвращать STATUS_PENDING; код успешного выполнения указывает, что устройство может зафиксировать удаление, а код ошибки указывает на то, что оно не может. Верните сообщение об успешном выполнении, если устройство можно удалить (или обновить драйверы), не нарушая работу компьютера. Эта подпрограмма является необязательной. |
IRP_MN_QUERY_STOP_DEVICE | Мини-диск указывает указатель на эту подпрограмму в элементе QueryStop структуры KSDEVICE_DISPATCH . Используйте AVStrMiniQueryStop , чтобы предотвратить остановку устройства или запретить действия, препятствующие фиксации мини-драйвера в операции остановки. Если эта подпрограмма не указана, AVStream предполагает, что мини-диск может зафиксировать операцию остановки. Эта подпрограмма является необязательной. Успешное выполнение означает, что устройство может зафиксировать остановку, а код ошибки указывает на то, что оно не может. Не возвращайте STATUS_PENDING. |
IRP_MN_QUERY_INTERFACE | Драйвер или системный компонент отправляет этот IRP для получения сведений об интерфейсе, экспортируемом драйвером. Дополнительные сведения о IRP см. в разделе IRP_MN_QUERY_INTERFACE. Мини-диск указывает адрес этой подпрограммы в элементе QueryInterface структуры KSDEVICE_DISPATCH . Эта подпрограмма является необязательной. |
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | ks.h (включая Ks.h) |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |