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