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

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

返回值

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

备注

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

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

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

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

此例程是可选的。

要求

   
最低受支持的客户端 在 Microsoft Windows XP 及更高版本的操作系统和 DirectX 8.0 及更高版本中可用。
目标平台 桌面
Header ks.h (包括 Ks.h)

另请参阅

CM_RESOURCE_LIST

KSDEVICE_DISPATCH