DXGKDDI_VIDPN_ASSIGNTARGETMODESET回呼函式 (d3dkmddi.h)
pfnAssignTargetModeSet 函式會將目標模式指派給指定 VidPN 中的特定目標。
語法
DXGKDDI_VIDPN_ASSIGNTARGETMODESET DxgkddiVidpnAssigntargetmodeset;
NTSTATUS DxgkddiVidpnAssigntargetmodeset(
[in] IN_D3DKMDT_HVIDPN hVidPn,
[in] IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[in] IN_CONST_D3DKMDT_HVIDPNTARGETMODESET hVidPnTargetModeSet
)
{...}
參數
[in] hVidPn
VidPN 物件的句柄。 VidPN 管理員先前藉由呼叫 DxgkDdiEnumVidPnCofuncModality 或 DxgkDdiRecommendFunctionalVidPn,為顯示迷你埠驅動程式提供此句柄。
[in] VidPnTargetId
整數,識別與 VidPN 對象相關聯的其中一個影片呈現目標。
[in] hVidPnTargetModeSet
要指派給 VidPnTargetId 所識別目標的目標目標之目標模式集物件的句柄。 顯示迷你埠驅動程式先前藉由呼叫 pfnCreateNewTargetModeSet 來取得此句柄。
傳回值
pfnAssignTargetModeSet 函式會傳回下列其中一個值:
傳回碼 | Description |
---|---|
STATUS_SUCCESS | 此函數已成功。 |
STATUS_GRAPHICS_INVALID_VIDPN | hVidPn 中提供的句柄無效。 |
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET | VidPnTargetId 中提供的標識碼無效。 |
STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET | hVidPnTargetModeSet 中提供的句柄無效。 |
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET | 您嘗試指派的目標模式集不包含已在目標上釘選的模式。 |
備註
顯示迷你埠驅動程式會指派 VidPN 目標識別碼。 由顯示迷你埠驅動程序實作的 DxgkDdiQueryChildRelations 會傳回DXGK_CHILD_DESCRIPTOR結構的數位,每個結構都包含標識碼。
如果您藉由呼叫 pfnCreateNewTargetModeSet 取得句柄,然後將該句柄傳遞至 pfnAssignTargetModeSet,則不需要呼叫 pfnReleaseTargetModeSet 來釋放句柄。
如果您藉由呼叫 pfnCreateNewTargetModeSet 來取得句柄,然後決定不要將新的目標模式設定為目標,您必須呼叫 pfnReleaseTargetModeSet 來釋放新取得的句柄。
pfnAssignTargetModeSet 如果 pfnAssignTargetModeSet 失敗, (輸入參數無效,STATUS_GRAPHICS_INVALID_VIDPN、STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET或STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET錯誤碼) ,因為指定的參數不足以判斷要釋放的模式設定物件。 這類無效的參數情況表示驅動程式中的編碼錯誤。 您可以藉由指定正確的 VidPN 句柄、目標識別碼或 VidPN 目標模式集句柄來修正此錯誤。
如果 pfnAssignTargetModeSet 因為下列其中一個原因而失敗, pfnAssignTargetModeSet 在成功驗證所有輸入參數之後,就會釋放目標模式集物件:
- 目標模式集是空的。
- 目標模式集不包含在先前模式集中釘選的模式,如果有的話。
- 未針對 VidPnTargetId 所識別的目標建立目標模式集。
D3DKMDT_HVIDPN和D3DKMDT_HVIDPNTARGETMODESET數據類型定義於 D3dkmdt.h 中。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | 桌面 |
標頭 | d3dkmddi.h (include D3dkmddi.h) |
IRQL | PASSIVE_LEVEL |