Поделиться через


Функция обратного вызова PFNKSDEVICEIRP (ks.h)

Подпрограмма обработчика IRP минидрайвера AVStream вызывается, когда эти irP отправляются устройством.

IRP_MN_QUERY_REMOVE_DEVICE

IRP_MN_QUERY_STOP_DEVICE

IRP_MN_QUERY_INTERFACE

Синтаксис

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 (см. раздел "Примечания")

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

KSDEVICE

KSDEVICE_DISPATCH