Partager via


DXGKDDI_VIDPN_CREATENEWTARGETMODESET fonction de rappel (d3dkmddi.h)

La fonction pfnCreateNewTargetModeSet crée un objet défini en 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 vers un objet VidPN. Le gestionnaire VidPN a précédemment fourni ce handle au pilote miniport d’affichage en appelant DxgkDdiEnumVidPnCofuncModality, DxgkDdiIsSupportedVidPn, ou DxgkDdiRecommendFunctionalVidPn.

[in] VidPnTargetId

Entier qui identifie l’une des cibles présentes de la 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 miniport d’affichage peut appeler pour inspecter et modifier l’objet défini en mode cible.

Valeur de retour

La fonction pfnCreateNewTargetModeSet retourne l’une des valeurs suivantes :

Retourner le code 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 pour créer l’objet de jeu de modes cibles.

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 vers un nouvel objet défini en mode cible. Cet objet défini en mode cible 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 en mode cible.
  3. Appelez pfnAssignTargetModeSet pour affecter le nouveau mode cible défini sur une cible particulière.
Si vous obtenez un handle en appelant pfnCreateNewTargetModeSet, puis 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, puis que vous décidez 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 interrompre les clients de l’interface.

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

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
plateforme cible Bureau
d’en-tête d3dkmddi.h (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

Voir aussi

interface de définition de mode cible VidPN

pfnAssignTargetModeSet

pfnReleaseTargetModeSet