DXGKDDI_VIDPN_ASSIGNTARGETMODESET fonction de rappel (d3dkmddi.h)
La fonction pfnAssignTargetModeSet attribue un mode cible défini à une cible particulière dans un VidPN spécifié.
Syntaxe
DXGKDDI_VIDPN_ASSIGNTARGETMODESET DxgkddiVidpnAssigntargetmodeset;
NTSTATUS DxgkddiVidpnAssigntargetmodeset(
[in] IN_D3DKMDT_HVIDPN hVidPn,
[in] IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[in] IN_CONST_D3DKMDT_HVIDPNTARGETMODESET hVidPnTargetModeSet
)
{...}
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] VidPnTargetId
Entier qui identifie l’une des cibles présentes de la vidéo associées à l’objet VidPN.
[in] hVidPnTargetModeSet
Handle de l’objet défini en mode cible à affecter à la cible identifiée par VidPnTargetId. Le pilote miniport d’affichage a précédemment obtenu ce handle en appelant pfnCreateNewTargetModeSet.
Valeur de retour
La fonction pfnAssignTargetModeSet 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_TARGET | L’identificateur fourni dans VidPnTargetId n’était pas valide. |
STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET | Le handle fourni dans hVidPnTargetModeSet n’était pas valide. |
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET | Le jeu de mode cible que vous tentez d’affecter ne contient pas le mode déjà épinglé sur la cible. |
Remarques
Les identificateurs cibles VidPN sont attribués par le pilote miniport d’affichage. DxgkDdiQueryChildRelations, implémenté par le pilote miniport d’affichage, retourne un tableau de structures DXGK_CHILD_DESCRIPTOR, chacune contenant un identificateur.
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.
pfnAssignTargetModeSet ne libère pas l’objet de jeu de mode cible si pfnAssignTargetModeSet échoue avec un paramètre d’entrée non valide (autrement dit, échoue avec le STATUS_GRAPHICS_INVALID_VIDPN, STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET ou STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET code d’erreur), car les paramètres spécifiés n’étaient pas suffisants pour le système d’exploitation afin de déterminer 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 cible ou le handle défini du mode cible VidPN.
pfnAssignTargetModeSet libère l’objet défini en mode cible après avoir validé tous les paramètres d’entrée si pfnAssignTargetModeSet échoue en raison de l’une des raisons suivantes :
- Le jeu de mode cible est vide.
- Le jeu de mode cible ne contient pas de mode épinglé dans le jeu de mode précédent, le cas échéant.
- Le jeu de mode cible n’a pas été créé pour la cible identifiée par VidPnTargetId.
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 |