DXGKDDI_VIDPN_ASSIGNSOURCEMODESET回调函数 (d3dkmddi.h)

pfnAssignSourceModeSet 函数将源模式设置为指定 VidPN 中的特定源。

语法

DXGKDDI_VIDPN_ASSIGNSOURCEMODESET DxgkddiVidpnAssignsourcemodeset;

NTSTATUS DxgkddiVidpnAssignsourcemodeset(
  [in] IN_D3DKMDT_HVIDPN hVidPn,
  [in] IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [in] IN_CONST_D3DKMDT_HVIDPNSOURCEMODESET hVidPnSourceModeSet
)
{...}

参数

[in] hVidPn

VidPN 对象的句柄。 VidPN 管理器以前通过调用 DxgkDdiEnumVidPnCofuncModalityDxgkDdiRecommendFunctionalVidPn为显示微型端口驱动程序提供了此句柄。

[in] VidPnSourceId

一个整数,用于标识与 VidPN 对象关联的视频演示源之一。

[in] hVidPnSourceModeSet

要分配给 VidPnSourceId标识的源的源模式集对象的句柄。 显示微型端口驱动程序以前通过调用 pfnCreateNewSourceModeSet获取此句柄。

返回值

pfnAssignSourceModeSet 函数返回以下值之一:

返回代码 描述
STATUS_SUCCESS 函数成功。
STATUS_GRAPHICS_INVALID_VIDPN hVidPn 中提供的句柄无效。
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE VidPnSourceId 中提供的标识符无效。
STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET hVidPnSourceModeSet 中提供的句柄无效。
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET 尝试分配的源模式集不包含已在源上固定的模式。

言论

作系统分配 VidPN 源标识符。 DxgkDdiStartDevice(由显示微型端口驱动程序实现)返回显示适配器支持的视频演示源的数目 N。 然后,作系统分配标识符 0、1、2...N - 1.

如果通过调用 pfnCreateNewSourceModeSet 获取句柄,然后将该句柄传递给 pfnAssignSourceModeSet,则无需通过调用 pfnReleaseSourceModeSet释放句柄。

如果通过调用 pfnCreateNewSourceModeSet 获取句柄,然后决定不将新的源模式设置为源,则必须通过调用 pfnReleaseSourceModeSet释放新获取的句柄。

注释pfnAssignSourceModeSet 函数发布或未释放由 hVidPnSourceModeSet 参数标识的源模式集对象,具体取决于导致 pfnAssignSourceModeSet 失败的原因。

pfnAssignSourceModeSet 如果 pfnAssignSourceModeSet 因输入参数无效(即STATUS_GRAPHICS_INVALID_VIDPN、STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE或STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET错误代码失败)而释放源模式集对象,因为指定的参数不足以确定要释放的模式集对象。 此类无效的参数情况表示驱动程序中的编码错误。 可以通过指定正确的 VidPN 句柄、源标识符或 VidPN 源模式集句柄来修复此错误。

pfnAssignSourceModeSet 成功验证所有输入 参数后,pfnAssignSourceModeSet 将释放源模式集对象,原因如下:

  • 源模式集为空。
  • 源模式集不包含在上一个模式集中固定的模式(如果有)。
  • 未为由 VidPnSourceId标识的源创建源模式集。
 
D3DDDI_VIDEO_PRESENT_SOURCE_ID数据类型在 D3dukmdt.h中定义。

D3dkmdt.h中定义了D3DKMDT_HVIDPN和D3DKMDT_HVIDPNSOURCEMODESET数据类型。

要求

要求 价值
最低支持的客户端 Windows Vista
目标平台 桌面
标头 d3dkmddi.h (包括 D3dkmddi.h)
IRQL PASSIVE_LEVEL

另请参阅

VidPN 源模式集接口

pfnCreateNewSourceModeSet