DXGKDDI_RELEASESWIZZLINGRANGE fonction de rappel (d3dkmddi.h)
La fonction DxgkDdiReleaseSwizzlingRange libère une plage swizzling que la fonction DxgkDdiAcquireSwizzlingRange a précédemment configurée.
Syntaxe
DXGKDDI_RELEASESWIZZLINGRANGE DxgkddiReleaseswizzlingrange;
NTSTATUS DxgkddiReleaseswizzlingrange(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_RELEASESWIZZLINGRANGE pReleaseSwizzlingRange
)
{...}
Paramètres
[in] hAdapter
Handle vers un bloc de contexte associé à un adaptateur d’affichage. Le pilote miniport d’affichage a précédemment fourni ce handle au sous-système du noyau graphique Microsoft DirectX dans le paramètre de sortie MiniportDeviceContext de la fonction DxgkDdiAddDevice .
[in] pReleaseSwizzlingRange
Pointeur vers une structure de DXGKARG_RELEASESWIZZLINGRANGE qui contient des informations pour libérer la plage pivotante.
Valeur retournée
DxgkDdiReleaseSwizzlingRange retourne STATUS_SUCCESS ou un résultat d’erreur approprié si la plage de balayage n’est pas correctement libérée.
Remarques
La fonction DxgkDdiReleaseSwizzlingRange est généralement appelée lorsque l’allocation spécifiée (c’est-à-dire le membre hAllocation de la structure DXGKARG_RELEASESWIZZLINGRANGE vers laquelle pointe le paramètre pReleaseSwizzlingRange ) est supprimée ou détruite, ou quand une autre allocation nécessite la plage d’essaimage que le membre RangeId de DXGKARG_RELEASESWIZZLINGRANGE spécifie.
Si l’allocation spécifiée est actuellement associée à plusieurs plages swizzling (par le biais d’appels à la fonction DxgkDdiAcquireSwizzlingRange ), le pilote de miniport d’affichage doit libérer uniquement la plage swizzling que le membre RangeId de DXGKARG_RELEASESWIZZLINGRANGE spécifie. Si le pilote de miniport d’affichage libère toutes les plages de balayage qui sont associées à l’allocation, une altération aléatoire de l’allocation peut se produire, car une application peut utiliser actuellement une ou plusieurs plages swizzling.
Le pilote doit utiliser les E/S mappées en mémoire (MMIO) pour configurer une plage de basculement. Ces accès à plage variable ne doivent pas interférer avec l’exécution du GPU (autrement dit, le GPU ne doit pas être inactif lorsque DxgkDdiReleaseSwizzlingRange est appelé).
Tous les appels à DxgkDdiReleaseSwizzlingRange sont sérialisés entre eux, mais pas avec une autre fonction d’interface de pilote de périphérique (DDI).
DxgkDdiReleaseSwizzlingRange doit être rendu paginable.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |