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