ExReleaseResourceForThreadLite, fonction (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 acquis la ressource à l’origine. 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 la routine ExSetResourceOwnerPointerEx d’abord sur le thread qui a acquis la ressource à l’origine.
Valeur de retour
Aucun
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 la routine ExSetResourceOwnerPointerEx d’abord sur le thread qui a acquis la ressource à l’origine. 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.
Sauf si l’appelant s’exécute dans un thread système, l’appelant doit désactiver explicitement la remise des API de noyau normales avant d’appeler cette routine. Cette exigence empêche les threads d’être suspendus pendant qu’ils manipulent ou contiennent une ressource. L’appelant peut désactiver la remise NORMALE d’APC du noyau en appelant la routine KeEnterCriticalRegion. La remise doit rester désactivée jusqu’à ce que la ressource soit libérée, à quel moment elle peut être réenable 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 s’exécutant dans un thread système n’a pas besoin de désactiver explicitement les API avant d’appeler cette routine.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 2000. |
plateforme cible | Universel |
d’en-tête | wdm.h (include 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