Partager via


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

ExAcquireResourceSharedLite

ExAcquireSharedStarveExclusive

ExAcquireSharedWaitForExclusive

ExGetCurrentResourceThread

ExInitializeResourceLite

ExReinitializeResourceLite