Freigeben über


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

ACCESS_MASK

OBJECT_ATTRIBUTES

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