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 |
---|---|
|
Der Wert des Key-Parameters ist NULL. |
|
Die Verweisanzahl des angegebenen Eintragsobjekts wurde auf 0 (null) reduziert, sodass die Verweisanzahl nicht erhöht werden kann. |
|
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 |