Freigeben über


NtOpenEnlistment-Funktion (wdm.h)

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

Syntax

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

Parameter

[out] EnlistmentHandle

Ein Zeiger auf eine vom Aufrufer zugewiesene Variable, die ein Handle für ein Enlistment-Objekt empfängt, wenn der Aufruf von ZwOpenEnlist ment erfolgreich ist.

[in] DesiredAccess

Ein ACCESS_MASK-typed-Wert, der den angeforderten Zugriff auf das Enlistment-Objekt angibt. Weitere Informationen zum Angeben dieses Parameters finden Sie im DesiredAccess Parameter von ZwCreateEnlistment. Dieser Parameter darf nicht null sein.

[in] ResourceManagerHandle

Ein Handle zu einem Ressourcen-Manager-Objekt, das durch einen vorherigen Aufruf von ZwCreateResourceManager oder ZwOpenResourceManagerabgerufen wurde.

[in] EnlistmentGuid

Ein Zeiger auf eine GUID, die die Liste 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 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

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 Enlistment-Objekt.
STATUS_INVALID_PARAMETER
Der Wert des DesiredAccess Parameters ist null, oder der Wert des EnlistmentGuid Parameters ist NULL.
STATUS_ENLISTMENT_NOT_FOUND
Die Auflistung, die der parameter EnlistmentGuid angibt, ist für den Ressourcen-Manager nicht vorhanden, den der RmHandle Parameter angibt.
STATUS_ACCESS_DENIED
Der Wert des parameters DesiredAccess ist ungültig.
 

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

Bemerkungen

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

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

Weitere Informationen zu ZwOpenEnlistmentfinden 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 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

ACCESS_MASK

InitializeObjectAttributes-

OBJECT_ATTRIBUTES

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

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment-

ZwSetInformationEnlistment