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 |
---|---|
|
Das Objekthandle ist ungültig. |
|
Der Aufrufer hat keinen geeigneten Zugriff auf das Enlistment-Objekt. |
|
Der Wert des DesiredAccess Parameters ist null, oder der Wert des EnlistmentGuid Parameters ist NULL. |
|
Die Auflistung, die der parameter EnlistmentGuid angibt, ist für den Ressourcen-Manager nicht vorhanden, den der RmHandle Parameter angibt. |
|
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
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen