Freigeben über


TmReferenceEnlistmentKey-Funktion (wdm.h)

Die TmReferenceEnlistmentKey-Routine erhöht die Verweisanzahl für den Schlüssel eines angegebenen Eintragsobjekts und ruft den Schlüssel ab.

Syntax

NTSTATUS TmReferenceEnlistmentKey(
  [in]  PKENLISTMENT Enlistment,
  [out] PVOID        *Key
);

Parameter

[in] Enlistment

Ein Zeiger auf ein Eintragsobjekt. Ihre Komponente kann diesen Zeiger als Eingabe für eine ResourceManagerNotification-Rückrufroutine empfangen. Alternativ kann Ihre Komponente ObReferenceObjectByHandle aufrufen und das Objekthandle bereitstellen, das ein vorheriger Aufruf von ZwCreateEnlistment, TmCreateEnlistment oder ZwOpenEnlistment bereitgestellt hat.

[out] Key

Ein Zeiger auf eine Variable, die den Eintragsschlüssel des Eintragsobjekts empfängt. Der Aufrufer weist einen Eintragsschlüssel zu, wenn er ZwCreateEnlistment oder TmCreateEnlistment aufruft.

Rückgabewert

TmReferenceEnlistmentKey gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Routine möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Der Wert des Key-Parameters ist NULL.
STATUS_UNSUCCESSFUL
Die Verweisanzahl des angegebenen Eintragsobjekts wurde auf 0 (null) reduziert, sodass die Verweisanzahl nicht erhöht werden kann.
STATUS_INSUFFICIENT_RESOURCES
Die Verweisanzahl liegt am Höchstwert (0xFFFFFFFF) und kann nicht erhöht werden.
 

Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.

Hinweise

Die TmReferenceEnlistmentKey-Routine erhöht die Verweisanzahl für den Schlüsselwert eines Enlistment-Objekts, und die TmDereferenceEnlistmentKey-Routine verringert die Anzahl.

Wenn ein Ressourcen-Manager einen Schlüsselwert für eine Eintragsliste definiert hat, erhält der Ressourcen-Manager den Schlüsselwert, wenn er ZwGetNotificationResourceManager aufruft oder wenn KTM die Rückrufroutine ResourceManagerNotification aufruft.

Während ein Ressourcen-Manager eine Benachrichtigung verarbeitet, kann er den Schlüssel als Zeiger auf eine temporäre Speicherbelegung verwenden und die Verweisanzahl verwenden, um zu bestimmen, wann die Zuordnung des Arbeitsspeichers aufgehoben werden soll.

Informationen dazu, wann die TmXxx-Routinen von KTM anstelle von ZwXxx-Routinen verwendet werden sollen, finden Sie unter Verwenden von TmXxx-Routinen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Betriebssystemversionen.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Weitere Informationen

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

TmDereferenceEnlistmentKey

ZwCreateEnlistment

ZwOpenEnlistment