PFNKSDEVICEIRP 回调函数 (ks.h)
当设备调度这些 IRP 时,将调用 AVStream 微型驱动程序的 IRP 处理程序例程。
语法
PFNKSDEVICEIRP Pfnksdeviceirp;
NTSTATUS Pfnksdeviceirp(
[in] PKSDEVICE Device,
[in] PIRP Irp
)
{...}
参数
[in] Device
指向调度 IRP 的 KSDEVICE 的指针。
[in] Irp
设备颁发的 IRP。
返回值
应返回STATUS_SUCCESS或尝试执行操作时返回的错误代码。 如果不是这种情况,请返回相应的错误代码。
注解
IRP | 说明 |
---|---|
IRP_MN_QUERY_REMOVE_DEVICE | 微型驱动程序在其KSDEVICE_DISPATCH结构的 QueryRemove 成员中指定此例程的地址。 当设备调度 IRP_MN_QUERY_REMOVE_DEVICE 时,将调用此例程。 它通常由希望阻止删除设备的微型驱动程序提供,或者由必须禁止活动(否则会阻止他们提交到设备删除操作)的微型驱动程序提供。 如果未提供此例程,AVStream 将假定设备可以提交删除操作。 该例程在 IRQL = PASSIVE_LEVEL 调用,可能不会返回STATUS_PENDING;成功代码表示设备可以提交删除,错误代码表示无法删除。 如果可以在 (删除设备,或者可以在不中断计算机的情况下) 更新驱动程序,则返回成功。 此例程是可选的。 |
IRP_MN_QUERY_STOP_DEVICE | 微型驱动程序在其KSDEVICE_DISPATCH结构的 QueryStop 成员中指定指向此例程的指针。 使用 AVStrMiniQueryStop 可阻止设备停止或禁止阻止微型驱动程序提交到停止操作的活动。 如果未指定此例程,AVStream 将假定微型驱动程序可以提交到停止操作。 此例程是可选的。 成功表示设备可以提交停止,错误代码表示无法停止。 不要返回STATUS_PENDING。 |
IRP_MN_QUERY_INTERFACE | 驱动程序或系统组件发送此 IRP 以获取有关驱动程序导出的接口的信息。 有关 IRP 的详细信息,请参阅 IRP_MN_QUERY_INTERFACE。 微型驱动程序在其KSDEVICE_DISPATCH结构的 QueryInterface 成员中指定此例程的地址。 此例程是可选的。 |
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | ks.h (包括 Ks.h) |
IRQL | PASSIVE_LEVEL (请参阅“备注”部分) |