Freigeben über


ZwOpenEnlistment-Funktion (wdm.h)

Die ZwOpenEnlistment-Routine ruft ein Handle für ein vorhandenes Enlistment-Objekt ab.

Syntax

NTSYSCALLAPI NTSTATUS ZwOpenEnlistment(
  [out]          PHANDLE            EnlistmentHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in]           HANDLE             RmHandle,
  [in]           LPGUID             EnlistmentGuid,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);

Parameter

[out] EnlistmentHandle

Ein Zeiger auf eine vom Aufrufer zugeordnete Variable, die ein Handle für ein Eintragsobjekt empfängt, wenn der Aufruf von ZwOpenEnlistment erfolgreich ist.

[in] DesiredAccess

Ein ACCESS_MASK typisierter Wert, der den angeforderten Zugriff auf das Eintragsobjekt angibt. Weitere Informationen zum Angeben dieses Parameters finden Sie im DesiredAccess-Parameter von ZwCreateEnlistment. Dieser Parameter darf nicht 0 (null) sein.

[in] RmHandle

Ein Handle für ein Resource Manager-Objekt, das durch einen vorherigen Aufruf von ZwCreateResourceManager oder ZwOpenResourceManager abgerufen wurde.

[in] EnlistmentGuid

Ein Zeiger auf eine GUID, die die Eintragsliste identifiziert. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[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

ZwOpenEnlistment 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_HANDLE
Das Objekthandle ist ungültig.
STATUS_ACCESS_DENIED
Der Aufrufer hat keinen geeigneten Zugriff auf das Eintragsobjekt.
STATUS_INVALID_PARAMETER
Der Wert des DesiredAccess-Parameters ist null, oder der Wert des EnlistmentGuid-Parameters ist NULL.
STATUS_ENLISTMENT_NOT_FOUND
Die vom EnlistmentGuid-Parameter festgelegte EnlistmentGuid-Auflistung ist für den Ressourcen-Manager, den der RmHandle-Parameter angibt, nicht vorhanden.
STATUS_ACCESS_DENIED
Der Wert des DesiredAccess-Parameters ist ungültig.
 

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

Hinweise

In der Regel ruft eine TPS-Komponente ZwOpenEnlistment auf, nachdem sie eine Enlistment-GUID von einer anderen TPS-Komponente empfangen hat, die zuvor ZwCreateEnlistment genannt hatte. Die meisten TPS-Designs erfordern keinen Aufruf von ZwOpenEnlistment.

Ein Ressourcen-Manager, der ZwOpenEnlistment aufruft , muss schließlich ZwClose aufrufen, um das Objekthandle zu schließen.

Weitere Informationen zu ZwOpenEnlistment finden Sie unter Enlistment Objects.

NtOpenEnlistment und ZwOpenEnlistment 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 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 systemeigenen 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(storport), PowerIrpDDis(wdm)

Weitere Informationen

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment

ZwSetInformationEnlistment