Partager via


DXGKDDI_VIDPN_CREATENEWSOURCEMODESET fonction de rappel (d3dkmddi.h)

La fonction pfnCreateNewSourceModeSet crée un nouvel objet défini en mode source dans un objet VidPN spécifié.

Syntaxe

DXGKDDI_VIDPN_CREATENEWSOURCEMODESET DxgkddiVidpnCreatenewsourcemodeset;

NTSTATUS DxgkddiVidpnCreatenewsourcemodeset(
  [in]  IN_CONST_D3DKMDT_HVIDPN hVidPn,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [out] OUT_PD3DKMDT_HVIDPNSOURCEMODESET phNewVidPnSourceModeSet,
  [out] DEREF_OUT_CONST_PPDXGK_VIDPNSOURCEMODESET_INTERFACE ppVidPnSourceModeSetInterface
)
{...}

Paramètres

[in] hVidPn

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

[in] VidPnSourceId

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

[out] phNewVidPnSourceModeSet

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

[out] ppVidPnSourceModeSetInterface

Pointeur vers une variable qui reçoit un pointeur vers une structure DXGK_VIDPNSOURCEMODESET_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 source.

Valeur retournée

La fonction pfnCreateNewSourceModeSet 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 pour créer l’objet défini en mode source.

Remarques

Pour affecter un nouveau mode source défini à une source particulière dans un VidPN, effectuez les étapes suivantes :

  1. Appelez pfnCreateNewSourceModeSet pour obtenir un handle sur un nouvel objet défini en mode source. Cet objet d’ensemble de mode source appartient à un objet VidPN particulier que vous spécifiez.
  2. Utilisez les fonctions de l’interface DXGK_VIDPNSOURCEMODESET_INTERFACE pour ajouter des modes à l’objet défini du mode source.
  3. Appelez pfnAssignSourceModeSet pour affecter le nouveau mode source défini à une source particulière.
Si vous obtenez un handle en appelant pfnCreateNewSourceModeSet , puis que vous passez ce handle à pfnAssignSourceModeSet, vous n’avez pas besoin de libérer le handle en appelant pfnReleaseSourceModeSet.

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

La durée de vie de la structure DXGK_VIDPNSOURCEMODESET_INTERFACE retournée dans ppVidPnSourceModeSetInterface 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_HVIDPNSOURCEMODESET 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 (inclure D3dkmddi.h)
IRQL PASSIVE_LEVEL

Voir aussi

Interface de définition du mode source VidPN

pfnAssignSourceModeSet

pfnReleaseSourceModeSet