Freigeben über


NtOpenResourceManager-Funktion (wdm.h)

Die ZwOpenResourceManager Routine gibt ein Handle an ein vorhandenes Ressourcen-Manager-Objektzurü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 den Ressourcen-Manager verarbeitet, wenn der Aufruf von ZwOpenResource Manager erfolgreich ist.

[in] DesiredAccess

Ein ACCESS_MASK Wert, der den angeforderten Zugriff des Aufrufers auf das Ressourcen-Manager-Objekt angibt. Weitere Informationen zum Angeben dieses Parameters finden Sie im DesiredAccess Parameter von ZwCreateResourceManager. Dieser Parameter darf nicht null sein.

[in] TmHandle

Ein Handle für ein Transaktions-Manager-Objekt, das durch einen vorherigen Aufruf von ZwCreateTransactionManager oder ZwOpenTransactionManagerabgerufen 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 InitializedAttributes und Attributes Parameter an. Wenn der Aufrufer nicht in einem Systemthreadkontext ausgeführt wird, muss das OBJ_KERNEL_HANDLE Flag im parameter Attributes festgelegt werden. Dieser Parameter ist optional und kann NULL-werden.

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 Handle, das TmHandle- angibt, ist kein Handle für ein Transaktionsobjekt.
STATUS_INVALID_HANDLE
Das Handle, das TmHandle- angibt, ist ungültig.
STATUS_ACCESS_DENIED
Der Aufrufer hat keinen geeigneten Zugriff auf das angegebene Transaktions-Manager-Objekt.
STATUS_INVALID_PARAMETER
Der parameter DesiredAccess ist null, 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-Wertezurück.

Bemerkungen

In der Regel ruft eine TPS-Komponente ZwOpenResourceManager auf, nachdem sie eine Listen-GUID von einer anderen TPS-Komponente empfängt, die zuvor ZwCreateResourceManageraufgerufen hat. Für die meisten TPS-Designs ist kein Aufruf ZwOpenResourceManagererforderlich.

Ein Ressourcenmanager, der ZwOpenResourceManager aufruft muss schließlich ZwClose- aufrufen, um das Objekthandle zu schließen.

Weitere Informationen zu ZwOpenResourceManagerfinden Sie unter KTM Objects.

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, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Betriebssystemversionen.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs, PowerIrpDDis

Siehe auch

InitializeObjectAttributes-

OBJECT_ATTRIBUTES

Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen

ZwClose

ZwCreateResourceManager

ZwCreateTransactionManager

ZwOpenTransactionManager