Freigeben über


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
STATUS_OBJECT_TYPE_MISMATCH
Das von TmHandle festgelegte Handle ist kein Handle für ein Transaktionsobjekt.
STATUS_INVALID_HANDLE
Das von TmHandle festgelegte Handle ist ungültig.
STATUS_ACCESS_DENIED
Der Aufrufer hat keinen entsprechenden Zugriff auf das angegebene Transaktions-Manager-Objekt.
STATUS_INVALID_PARAMETER
Der DesiredAccess-Parameter ist 0, oder der ResourceManagerGuid-Parameter ist ungültig.
STATUS_RESOURCEMANAGER_NOT_FOUND
Der angegebene Ressourcen-Manager konnte nicht gefunden werden.
STATUS_TRANSACTIONMANAGER_NOT_ONLINE
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

Weitere Informationen

InitializeObjectAttributes

OBJECT_ATTRIBUTES

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

ZwClose

ZwCreateResourceManager

ZwCreateTransactionManager

ZwOpenTransactionManager