Freigeben über


ExReleaseResourceForThreadLite-Funktion (wdm.h)

Die ExReleaseResourceForThreadLite-Routine gibt die Eingaberessource des angegebenen Threads frei.

Syntax

void ExReleaseResourceForThreadLite(
  [in, out] PERESOURCE       Resource,
  [in]      ERESOURCE_THREAD ResourceThreadId
);

Parameter

[in, out] Resource

Ein Zeiger auf die ressource, die freigegeben werden soll.

[in] ResourceThreadId

Gibt den Thread an, der die Ressource ursprünglich abgerufen hat. Wenn dies nicht der derzeit ausgeführte Thread ist, muss der Aufrufer den Besitz der Ressource übertragen haben, indem er zuerst die ExSetResourceOwnerPointerEx-Routine für den Thread aufruft, der die Ressource ursprünglich abgerufen hat.

Rückgabewert

Keine

Bemerkungen

Wenn dies nicht der derzeit ausgeführte Thread ist, muss der Aufrufer den Besitz der Ressource übertragen haben, indem er zuerst die ExSetResourceOwnerPointerEx-Routine für den Thread aufruft, der die Ressource ursprünglich abgerufen hat. Dadurch wird sichergestellt, dass Thread A nicht beendet oder gelöscht wird, bevor Thread B die Ressource freigeben kann.

Sofern der Aufrufer nicht in einem Systemthread ausgeführt wird, muss der Aufrufer die Übermittlung normaler Kernel-APCs explizit deaktivieren, bevor diese Routine aufgerufen wird. Diese Anforderung verhindert, dass Threads angehalten werden, während sie eine Ressource bearbeiten oder halten. Der Aufrufer kann die normale Kernel-APC-Übermittlung deaktivieren, indem er die KeEnterCriticalRegion-Routine aufruft . Die Übermittlung muss deaktiviert bleiben, bis die Ressource freigegeben wird. An diesem Punkt kann sie durch Aufrufen der KeLeaveCriticalRegion-Routine erneut aktiviert werden. Weitere Informationen finden Sie unter Deaktivieren von APCs.

Diese Anforderung gilt nicht für Aufrufe von ExReleaseResourceForThreadLite aus einem Systemthread. Ein Aufrufer, der in einem Systemthread ausgeführt wird, muss APCs nicht explizit deaktivieren, bevor diese Routine aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln ExclusiveResourceAccess(wdm), HwStorPortProhibitedDIs(storport), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm)

Weitere Informationen

ExAcquireResourceExclusiveLite

ExAcquireResourceSharedLite

ExAcquireSharedStarveExclusive

ExAcquireSharedWaitForExclusive

ExGetCurrentResourceThread

ExInitializeResourceLite

ExReinitializeResourceLite