PFNKSDEVICEPNPSTART 回调函数 (ks.h)

为指定设备发送 IRP_MN_START_DEVICE 请求时,会调用 AVStream 微型驱动程序的 AVStrMiniDeviceStart 例程。

语法

PFNKSDEVICEPNPSTART Pfnksdevicepnpstart;

NTSTATUS Pfnksdevicepnpstart(
  [in]           PKSDEVICE Device,
  [in]           PIRP Irp,
  [in, optional] PCM_RESOURCE_LIST TranslatedResourceList,
  [in, optional] PCM_RESOURCE_LIST UntranslatedResourceList
)
{...}

参数

[in] Device

指向描述要启动设备的 KSDEVICE 结构的指针。

[in] Irp

指向收到的 IRP_MN_START_DEVICE 的指针。

[in, optional] TranslatedResourceList

指向包含从 Irp中提取的已翻译资源列表的 CM_RESOURCE_LIST 结构的指针。 如果 设备 没有分配的资源,则等于 NULL。 自选。

[in, optional] UntranslatedResourceList

指向 CM_RESOURCE_LIST 结构的指针,该结构包含从 Irp中提取的未传输的资源列表。 如果此参数列表 KSDEVICE 成员没有分配的资源,则等于 NULL。 自选。

返回值

应返回STATUS_SUCCESS或尝试执行作时返回的错误代码。 如果例程返回成功的状态代码,则保证启动成功。 请勿返回STATUS_PENDING。

言论

开始KSDEVICE_DISPATCH 结构的成员中指定此例程的地址。

通常,此例程由必须评估已分配资源的微型驱动程序使用。 为了方便微型驱动程序,从 Irp 中提取资源列表。 微型驱动程序可以分析资源列表,以查找分配给设备的中断以及内存资源的物理地址。

微型驱动程序可以使用此例程分配上下文信息以与 AVStream 设备关联。 (这类似于流类下的微型驱动程序,使用设备扩展来存储上下文信息。

请注意,STATUS_PENDING不是此函数的法律返回代码。 若要在 AVStream 完成启动作(例如启用设备接口)之前在辅助线程的上下文中执行作,请使用启动后调度。 请参阅 AVStrMiniDevicePostStart

此例程是可选的。

要求

要求 价值
最低支持的客户端 Microsoft Windows XP 及更高版本的作系统以及 DirectX 8.0 及更高版本的 DirectX 版本中提供。
目标平台 桌面
标头 ks.h (包括 Ks.h)

另请参阅

CM_RESOURCE_LIST

KSDEVICE_DISPATCH