NtOpenResourceManager-Funktion (wdm.h)
Die ZwOpenResourceManager-Routine gibt ein Handle an ein vorhandenes Resource Manager-Objekt zurück.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenResourceManager(
[out] PHANDLE ResourceManagerHandle,
[in] ACCESS_MASK DesiredAccess,
[in] HANDLE TmHandle,
[in] LPGUID ResourceManagerGuid,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);
Parameter
[out] ResourceManagerHandle
Ein Zeiger auf eine vom Aufrufer zugewiesene Variable, die das Ressourcen-Manager-Handle empfängt, wenn der Aufruf von ZwOpenResourceManager erfolgreich ist.
[in] DesiredAccess
Ein ACCESS_MASK Wert, der den vom Aufrufer angeforderten Zugriff auf das Resource Manager-Objekt angibt. Weitere Informationen zum Angeben dieses Parameters finden Sie im DesiredAccess-Parameter von ZwCreateResourceManager. Dieser Parameter darf nicht 0 sein.
[in] TmHandle
Ein Handle für ein Transaktions-Manager-Objekt, das durch einen vorherigen Aufruf von ZwCreateTransactionManager oder ZwOpenTransactionManager abgerufen wurde.
[in] ResourceManagerGuid
Ein Zeiger auf die GUID, die den zu öffnenden Ressourcen-Manager identifiziert.
[in, optional] ObjectAttributes
Ein Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die die Attribute des Objekts angibt. Verwenden Sie die InitializeObjectAttributes-Routine , um diese Struktur zu initialisieren, aber geben Sie nur die Parameter InitializedAttributes und Attributes dieser Routine an. Wenn der Aufrufer nicht in einem Systemthreadkontext ausgeführt wird, muss er das flag OBJ_KERNEL_HANDLE im Attributes-Parameter festlegen. Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
ZwOpenResourceManager 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 |
---|---|
|
Das von TmHandle festgelegte Handle ist kein Handle für ein Transaktionsobjekt. |
|
Das von TmHandle festgelegte Handle ist ungültig. |
|
Der Aufrufer hat keinen entsprechenden Zugriff auf das angegebene Transaktions-Manager-Objekt. |
|
Der DesiredAccess-Parameter ist 0, oder der ResourceManagerGuid-Parameter ist ungültig. |
|
Der angegebene Ressourcen-Manager konnte nicht gefunden werden. |
|
Der angegebene Transaktions-Manager ist nicht online. |
Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.
Hinweise
In der Regel ruft eine TPS-Komponente ZwOpenResourceManager auf, nachdem sie eine Enlistment-GUID von einer anderen TPS-Komponente empfangen hat, die zuvor ZwCreateResourceManager aufgerufen hatte. Für die meisten TPS-Designs ist der Aufruf von ZwOpenResourceManager nicht erforderlich.
Ein Ressourcen-Manager, der ZwOpenResourceManager aufruft, muss schließlich ZwClose aufrufen, um das Objekthandle zu schließen.
Weitere Informationen zu ZwOpenResourceManager finden Sie unter KTM-Objekte.
NtOpenResourceManager und ZwOpenResourceManager sind zwei Versionen derselben Windows Native System Services-Routine.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Betriebssystemversionen. |
Zielplattform | Universell |
Header | wdm.h (include Wdm.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |