Auf Englisch lesen

Freigeben über


ExSetResourceOwnerPointer-Funktion (wdm.h)

Die ExSetResourceOwnerPointer Routine legt den Besitzerthreadzeiger für eine Geschäftsleitungsressource fest.

Syntax

C++
void ExSetResourceOwnerPointer(
  [in, out] PERESOURCE Resource,
  [in]      PVOID      OwnerPointer
);

Parameter

[in, out] Resource

Ein Zeiger auf eine Geschäftsleitungsressource im Besitz des aktuellen Threads.

[in] OwnerPointer

Ein Zeiger auf einen Besitzerthreadzeiger vom Typ ERESOURCE_THREAD (weitere Anforderungen finden Sie im folgenden Abschnitt "Hinweise").

Rückgabewert

Nichts

Bemerkungen

ExSetResourceOwnerPointer, in Verbindung mit ExReleaseResourceForThreadLiteverwendet wird, stellt ein Mittel für einen Thread (fungiert als Ressourcen-Manager-Thread) zum Abrufen und Freigeben von Ressourcen für die Verwendung durch einen anderen Thread (fungiert als Ressourcenbenutzerthread) bereit.

Nach dem Aufrufen ExSetResourceOwnerPointer für eine bestimmte Ressource ist die einzige andere Routine, die für diese Ressource aufgerufen werden kann, ExReleaseResourceForThreadLite.

Der Ressourcen-Manager-Thread übernimmt den Besitz der Ressource und übergibt den Besitz an den Benutzerthread, indem ExSetResourceOwnerPointeraufgerufen wird. Der Aufrufer muss den Speicher für den ERESOURCE_THREAD Wert zuweisen, auf den OwnerPointer- im Systemspeicher verweist, und dieser Speicher muss bis ExReleaseResourceForThreadLite- zugewiesen bleiben. Der Aufrufer muss auch die zwei Bits mit niedriger Reihenfolge des ERESOURCE_THREAD Werts festlegen, auf den OwnerPointer verweist. Diese Codierung wird intern von den Ressourcendiensten verwendet, um zwischen Besitzer- und Threadadressen zu unterscheiden.

Wenn der Benutzerthread mit der Ressource fertig ist, gibt der Ressourcen-Manager-Thread den Besitz der Ressource durch Aufrufen ExReleaseResourceForThreadLitefrei. Der ResourceThreadId Eingabeparameter wird auf den Wert des OwnerPointer- Parameters festgelegt, der im vorherigen Aufruf von ExSetResourceOwnerPointer verwendet wird, der dem Workerthreadbesitzer der Ressource zugewiesen wurde.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport)

Siehe auch

ExReleaseResourceForThreadLite-