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

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

另请参阅

KSDEVICE

KSDEVICE_DISPATCH