Partager via


DXGKDDI_VIDPN_ASSIGNSOURCEMODESET fonction de rappel (d3dkmddi.h)

La fonction pfnAssignSourceModeSet attribue un mode source défini à une source particulière dans un VidPN spécifié.

Syntaxe

DXGKDDI_VIDPN_ASSIGNSOURCEMODESET DxgkddiVidpnAssignsourcemodeset;

NTSTATUS DxgkddiVidpnAssignsourcemodeset(
  [in] IN_D3DKMDT_HVIDPN hVidPn,
  [in] IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [in] IN_CONST_D3DKMDT_HVIDPNSOURCEMODESET hVidPnSourceModeSet
)
{...}

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 ou DxgkDdiRecommendFunctionalVidPn.

[in] VidPnSourceId

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

[in] hVidPnSourceModeSet

Handle de l’objet de jeu de mode source qui doit être affecté à la source identifiée par VidPnSourceId. Le pilote miniport d’affichage a précédemment obtenu ce handle en appelant pfnCreateNewSourceModeSet.

Valeur de retour

La fonction pfnAssignSourceModeSet 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_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE L’identificateur fourni dans VidPnSourceId n’était pas valide.
STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET Le handle fourni dans hVidPnSourceModeSet n’était pas valide.
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET Le jeu de mode source que vous tentez d’affecter ne contient pas le mode qui a déjà été épinglé sur la source.

Remarques

Les identificateurs sources VidPN sont attribués par le système d’exploitation. DxgkDdiStartDevice, implémenté par le pilote de miniport d’affichage, retourne le nombre N de sources présentes vidéo prises en charge par l’adaptateur d’affichage. Ensuite, le système d’exploitation attribue des identificateurs 0, 1, 2, ... N - 1.

Si vous obtenez un handle en appelant pfnCreateNewSourceModeSet, puis transmettez ce handle à pfnAssignSourceModeSet, vous n’avez pas besoin de libérer le handle en appelant pfnReleaseSourceModeSet.

Si vous obtenez un handle en appelant pfnCreateNewSourceModeSet, puis 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.

Remarque La fonction pfnAssignSourceModeSet releases ou ne libère pas l’objet de jeu de mode source identifié par le paramètre hVidPnSourceModeSet en fonction de la raison pour laquelle pfnAssignSourceModeSet échouer.

pfnAssignSourceModeSet ne libère pas l’objet de jeu de mode source si pfnAssignSourceModeSet échoue avec un paramètre d’entrée non valide (autrement dit, échoue avec le STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE ou STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET code d’erreur), car les paramètres spécifiés n’étaient pas suffisants pour que le système d’exploitation détermine l’objet défini en mode à libérer. Ces situations de paramètre non valides indiquent une erreur de codage brute dans le pilote. Vous pouvez corriger cette erreur en spécifiant le handle VidPN approprié, l’identificateur source ou le handle de jeu de paramètres du mode source VidPN.

pfnAssignSourceModeSet libère l’objet de jeu de mode source après avoir validé tous les paramètres d’entrée si pfnAssignSourceModeSet échoue en raison de l’une des raisons suivantes :

  • Le jeu de mode source est vide.
  • Le jeu de mode source ne contient pas de mode épinglé dans le jeu de mode précédent, le cas échéant.
  • Le jeu de mode source n’a pas été créé pour la source identifiée par VidPnSourceId.
 
Le type de données D3DDDI_VIDEO_PRESENT_SOURCE_ID est défini dans D3dukmdt.h.

Les types de données D3DKMDT_HVIDPN et D3DKMDT_HVIDPNSOURCEMODESET 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 du mode source VidPN

pfnCreateNewSourceModeSet