Partager via


DXGKDDI_RELEASESWIZZLINGRANGE fonction de rappel (d3dkmddi.h)

La fonction DxgkDdiReleaseSwizzlingRange libère une plage swizzling que la fonction DxgkDdiAcquireSwizlingRange 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 MiniportDeviceContext paramètre de sortie de la fonction DxgkDdiAddDevice.

[in] pReleaseSwizzlingRange

Pointeur vers une structure DXGKARG_RELEASESWIZZLINGRANGE qui contient des informations pour libérer la plage swizzling.

Valeur de retour

DxgkDdiReleaseSwizzlingRange retourne STATUS_SUCCESS, ou un résultat d’erreur approprié si la plage swizzling n’est pas correctement publiée.

Remarques

La fonction DxgkDdiReleaseSwizzlingRange est généralement appelée lorsque l’allocation spécifiée (autrement dit, le membre hAllocation de la structure DXGKARG_RELEASESWIZZLINGRANGE vers laquelle le paramètre pReleaseSwizzling Range pointe vers) est supprimé ou détruit, ou lorsqu’une autre allocation nécessite la plage de RangeId membre 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 spécifiée par l'RangeId membre de DXGKARG_RELEASESWIZZLINGRANGE. Si le pilote miniport d’affichage libère toutes les plages swizzling associées à l’allocation, une altération aléatoire dans l’allocation peut entraîner une altération aléatoire, car une application peut actuellement utiliser une ou plusieurs plages swizzling.

Le pilote doit utiliser les E/S mappées en mémoire (MMIO) pour configurer une plage swizzling. Ces accès swizzling-range ne doivent pas interférer avec l’exécution du GPU (autrement dit, le GPU ne doit pas être inactif quand DxgkDdiReleaseSwizzlingRange est appelé).

Tous les appels à DxgkDdiReleaseSwizzlingRange sont sérialisés entre eux, mais pas avec une autre fonction DDI (Device Driver Interface).

DxgkDdiReleaseSwizzlingRange doit être rendu paginable.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
plateforme cible Bureau
d’en-tête d3dkmddi.h
IRQL PASSIVE_LEVEL

Voir aussi

DXGKARG_RELEASESWIZZLINGRANGE

DxgkDdiAcquireSwizzlingRange

DxgkDdiAddDevice