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(请参阅“备注”部分) |