Partager via


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

Voir aussi

DXGKARG_RELEASESWIZZLINGRANGE

DxgkDdiAcquireSwizzlingRange

DxgkDdiAddDevice