NtOpenEnlistment-Funktion (wdm.h)
Die ZwOpenEnlistment-Routine ruft ein Handle für ein vorhandenes Enlistment-Objekt ab.
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 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] ResourceManagerHandle
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 |
---|---|
|
Das Objekthandle ist ungültig. |
|
Der Aufrufer hat keinen geeigneten Zugriff auf das Eintragsobjekt. |
|
Der Wert des DesiredAccess-Parameters ist null, oder der Wert des EnlistmentGuid-Parameters ist NULL. |
|
Die vom EnlistmentGuid-Parameter festgelegte EnlistmentGuid-Auflistung ist für den Ressourcen-Manager, den der RmHandle-Parameter angibt, nicht vorhanden. |
|
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, PowerIrpDDis |