Fonction ExReleaseResourceForThreadLite (wdm.h)
La routine ExReleaseResourceForThreadLite libère la ressource d’entrée du thread indiqué.
Syntaxe
void ExReleaseResourceForThreadLite(
[in, out] PERESOURCE Resource,
[in] ERESOURCE_THREAD ResourceThreadId
);
Paramètres
[in, out] Resource
Pointeur vers la ressource à libérer.
[in] ResourceThreadId
Identifie le thread qui a initialement acquis la ressource. S’il ne s’agit pas du thread en cours d’exécution, l’appelant doit avoir transféré la propriété de la ressource en appelant d’abord la routine ExSetResourceOwnerPointerEx sur le thread qui a initialement acquis la ressource.
Valeur de retour
None
Remarques
S’il ne s’agit pas du thread en cours d’exécution, l’appelant doit avoir transféré la propriété de la ressource en appelant d’abord la routine ExSetResourceOwnerPointerEx sur le thread qui a initialement acquis la ressource. Cela permet de s’assurer que le thread A n’est pas arrêté ou supprimé avant que le thread B ait la possibilité de libérer la ressource.
À moins que l’appelant ne s’exécute dans un thread système, l’appelant doit explicitement désactiver la remise des API de noyau normaux avant d’appeler cette routine. Cette exigence empêche les threads d’être suspendus pendant qu’ils manipulent ou conservent une ressource. L’appelant peut désactiver la remise d’APC du noyau normal en appelant la routine KeEnterCriticalRegion . La remise doit rester désactivée jusqu’à ce que la ressource soit libérée. À ce stade, elle peut être réactivée en appelant la routine KeLeaveCriticalRegion . Pour plus d’informations, consultez Désactivation des API.
Cette exigence ne s’applique pas aux appels effectués à ExReleaseResourceForThreadLite à partir d’un thread système. Un appelant qui s’exécute dans un thread système n’a pas besoin de désactiver explicitement les API avant d’appeler cette routine.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | ExclusiveResourceAccess(wdm),HwStorPortProhibitedDDIs(storport),WithinCriticalRegion(storport),WithinCriticalRegion(storport), WithinCriticalRegion(wdm) |
Voir aussi
ExAcquireResourceExclusiveLite
ExAcquireSharedStarveExclusive