ZwOpenProcess-Funktion (ntddk.h)
Die ZwOpenProcess Routine öffnet ein Handle für ein Prozessobjekt und legt die Zugriffsrechte auf dieses Objekt fest.
Syntax
NTSYSAPI NTSTATUS ZwOpenProcess(
[out] PHANDLE ProcessHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PCLIENT_ID ClientId
);
Parameter
[out] ProcessHandle
Ein Zeiger auf eine Variable vom Typ HANDLE. Die ZwOpenProcess Routine schreibt das Prozesshandle in die Variable, auf die dieser Parameter verweist.
[in] DesiredAccess
Ein ACCESS_MASK Wert, der die Zugriffsrechte enthält, die der Aufrufer für das Prozessobjekt angefordert hat.
[in] ObjectAttributes
Ein Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die die Attribute angibt, die auf das Prozessobjekthandle angewendet werden sollen. Das ObjectName Feld dieser Struktur muss auf NULL-festgelegt werden. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
[in, optional] ClientId
Ein Zeiger auf eine Client-ID, die den Thread identifiziert, dessen Prozess geöffnet werden soll. Dieser Parameter muss ein nichtNULL- Zeiger auf eine gültige Client-ID sein. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Rückgabewert
ZwOpenProcess gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Rückgabewerte sind die folgenden Fehlerstatuscodes.
Rückgabecode | Beschreibung |
---|---|
STATUS_INVALID_PARAMETER_MIX | Der Aufrufer hat entweder einen Objektnamen angegeben oder eine Client-ID nicht angegeben. |
STATUS_INVALID_CID | Die angegebene Client-ID ist ungültig. |
STATUS_INVALID_PARAMETER | Die angeforderten Zugriffsrechte sind für ein Prozessobjekt ungültig. |
STATUS_ACCESS_DENIED | Die angeforderten Zugriffsrechte können nicht erteilt werden. |
Bemerkungen
Der parameter ClientId muss auf eine Client-ID verweisen, die den Thread identifiziert, dessen Prozess geöffnet werden soll. Darüber hinaus muss das ObjectName Feld der Struktur, auf das durch ObjectAttributes verweist, auf NULL-festgelegt werden.
Wenn der Aufruf dieser Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtOpenProcess" anstelle von "ZwOpenProcess" verwenden.
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 |
---|---|
Zielplattform- | Universal |
Header- | ntddk.h (enthalten Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Siehe auch
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen