Partager via


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

ExAcquireResourceSharedLite

ExAcquireSharedStarveExclusive

ExAcquireSharedWaitForExclusive

ExGetCurrentResourceThread

ExInitializeResourceLite

ExReinitializeResourceLite