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 管理員先前藉由呼叫 DxgkDdiEnumVidPnCofuncModality 或 DxgkDdiRecommendFunctionalVidPn,為顯示迷你埠驅動程式提供此句柄。
[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 如果 pfnAssignSourceModeSet 失敗,且輸入參數無效, (失敗,STATUS_GRAPHICS_INVALID_VIDPN、STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE或STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET錯誤碼) ,因為指定的參數不足以判斷要釋放的模式設定物件。 這類無效的參數情況表示驅動程式中的編碼錯誤。 您可以藉由指定正確的 VidPN 句柄、來源識別碼或 VidPN 來源模式集句柄來修正此錯誤。
如果 pfnAssignSourceModeSet 因為下列其中一個原因, pfnAssignSourceModeSet 成功驗證所有輸入參數之後,pfnAssignSourceModeSet 將會釋放來源模式集物件:
- 來源模式集是空的。
- 來源模式集不包含在上一個模式集中釘選的模式,如果有的話。
- 未針對 VidPnSourceId 所識別的來源建立來源模式集。
D3DKMDT_HVIDPN和D3DKMDT_HVIDPNSOURCEMODESET數據類型定義於 D3dkmdt.h 中。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | 桌面 |
標頭 | d3dkmddi.h (include D3dkmddi.h) |
IRQL | PASSIVE_LEVEL |