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 函式會傳回下列其中一個值:

傳回碼 Description
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 成功驗證所有輸入參數之後,pfnAssignSourceModeSet 將會釋放來源模式集物件:

  • 來源模式集是空的。
  • 來源模式集不包含在上一個模式集中釘選的模式,如果有的話。
  • 未針對 VidPnSourceId 所識別的來源建立來源模式集。
 
D3DDDI_VIDEO_PRESENT_SOURCE_ID數據類型定義於 D3dukmdt.h 中。

D3DKMDT_HVIDPN和D3DKMDT_HVIDPNSOURCEMODESET數據類型定義於 D3dkmdt.h 中。

規格需求

需求
最低支援的用戶端 Windows Vista
目標平台 桌面
標頭 d3dkmddi.h (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

另請參閱

VidPN 來源模式集介面

pfnCreateNewSourceModeSet