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 管理員先前藉由呼叫 DxgkDdiEnumVidPnCofuncModalityDxgkDdiRecommendFunctionalVidPn,為顯示迷你埠驅動程式提供此句柄。

[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 函式會釋放或未釋放 hVidPnTargetModeSet 參數所識別的目標模式集合對象,視造成 pfnAssignTargetModeSet 失敗的原因而定。

pfnAssignTargetModeSet 如果 pfnAssignTargetModeSet 失敗, (輸入參數無效,STATUS_GRAPHICS_INVALID_VIDPN、STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET或STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET錯誤碼) ,因為指定的參數不足以判斷要釋放的模式設定物件。 這類無效的參數情況表示驅動程式中的編碼錯誤。 您可以藉由指定正確的 VidPN 句柄、目標識別碼或 VidPN 目標模式集句柄來修正此錯誤。

如果 pfnAssignTargetModeSet 因為下列其中一個原因而失敗, pfnAssignTargetModeSet 在成功驗證所有輸入參數之後,就會釋放目標模式集物件:

  • 目標模式集是空的。
  • 目標模式集不包含在先前模式集中釘選的模式,如果有的話。
  • 未針對 VidPnTargetId 所識別的目標建立目標模式集。
 
D3DDDI_VIDEO_PRESENT_TARGET_ID數據類型定義於 D3dukmdt.h 中。

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

規格需求

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

另請參閱

VidPN 目標模式集介面

pfnCreateNewTargetModeSet