Partager via


DXGKDDI_VIDPN_CREATENEWTARGETMODESET fonction de rappel (d3dkmddi.h)

La fonction pfnCreateNewTargetModeSet crée un nouvel objet set de mode cible dans un objet VidPN spécifié.

Syntaxe

DXGKDDI_VIDPN_CREATENEWTARGETMODESET DxgkddiVidpnCreatenewtargetmodeset;

NTSTATUS DxgkddiVidpnCreatenewtargetmodeset(
  [in]  IN_CONST_D3DKMDT_HVIDPN hVidPn,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [out] OUT_PD3DKMDT_HVIDPNTARGETMODESET phNewVidPnTargetModeSet,
  [out] DEREF_OUT_CONST_PPDXGK_VIDPNTARGETMODESET_INTERFACE ppVidPnTargetModeSetInterace
)
{...}

Paramètres

[in] hVidPn

Handle pour un objet VidPN. Le gestionnaire VidPN a précédemment fourni ce handle au pilote de miniport d’affichage en appelant DxgkDdiEnumVidPnCofuncModality, DxgkDdiIsSupportedVidPn ou DxgkDdiRecommendFunctionalVidPn.

[in] VidPnTargetId

Entier qui identifie l’une des cibles présentes de vidéo associées à l’objet VidPN.

[out] phNewVidPnTargetModeSet

Pointeur vers une variable qui reçoit un handle vers l’objet défini en mode cible nouvellement créé.

[out] ppVidPnTargetModeSetInterace

Pointeur vers une variable qui reçoit un pointeur vers une structure DXGK_VIDPNTARGETMODESET_INTERFACE . La structure contient des pointeurs vers des fonctions que le pilote de miniport d’affichage peut appeler pour inspecter et modifier l’objet défini du mode cible.

Valeur retournée

La fonction pfnCreateNewTargetModeSet retourne l’une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS La fonction a réussi.
STATUS_GRAPHICS_INVALID_VIDPN Le handle fourni dans hVidPn n’était pas valide.
STATUS_NO_MEMORY Le gestionnaire VidPN n’a pas pu allouer la mémoire nécessaire à la création de l’objet défini en mode cible.

Remarques

Pour affecter un nouveau mode cible défini à une cible particulière dans une implémentation VidPN, procédez comme suit :

  1. Appelez pfnCreateNewTargetModeSet pour obtenir un handle pour un nouvel objet défini de mode cible. Cet objet d’ensemble de modes cibles appartient à un objet VidPN particulier que vous spécifiez.
  2. Utilisez les fonctions de la structure DXGK_VIDPNTARGETMODESET_INTERFACE pour ajouter des modes à l’objet défini de modes cibles.
  3. Appelez pfnAssignTargetModeSet pour affecter le nouveau mode cible défini à une cible particulière.
Si vous obtenez un handle en appelant pfnCreateNewTargetModeSet , puis que vous passez ce handle à pfnAssignTargetModeSet, vous n’avez pas besoin de libérer le handle en appelant pfnReleaseTargetModeSet.

Si vous obtenez un handle en appelant pfnCreateNewTargetModeSet et que vous décidez ensuite de ne pas affecter le nouveau mode cible défini à une cible, vous devez libérer le handle nouvellement obtenu en appelant pfnReleaseTargetModeSet.

La durée de vie de la structure DXGK_VIDPNTARGETEMODESET_INTERFACE retournée dans ppVidPnTargetModeSetInterface appartient au système d’exploitation. À l’aide de ce schéma de propriété, le système d’exploitation peut basculer vers des implémentations plus récentes au moment de l’exécution sans casser les clients de l’interface.

Les types de données D3DKMDT_HVIDPN et D3DKMDT_HVIDPNTARGETMODESET sont définis dans D3dkmdt.h.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3dkmddi.h (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

Voir aussi

Interface de définition du mode cible VidPN

pfnAssignTargetModeSet

pfnReleaseTargetModeSet