Fungsi ZwOpenProcess (ntddk.h)

Rutinitas ZwOpenProcess membuka handel ke objek proses dan mengatur hak akses ke objek ini.

Sintaks

NTSYSAPI NTSTATUS ZwOpenProcess(
  [out]          PHANDLE            ProcessHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in]           POBJECT_ATTRIBUTES ObjectAttributes,
  [in, optional] PCLIENT_ID         ClientId
);

Parameter

[out] ProcessHandle

Penunjuk ke variabel jenis HANDLE. Rutinitas ZwOpenProcess menulis handel proses ke variabel yang ditunjukkan parameter ini.

[in] DesiredAccess

Nilai ACCESS_MASK yang berisi hak akses yang diminta pemanggil ke objek proses.

[in] ObjectAttributes

Penunjuk ke struktur OBJECT_ATTRIBUTES yang menentukan atribut yang akan diterapkan ke handel objek proses. Bidang ObjectName dari struktur ini harus diatur ke NULL. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

[in, optional] ClientId

Pointer ke ID klien yang mengidentifikasi utas yang prosesnya akan dibuka. Parameter ini harus berupa penunjuk non-NULL ke ID klien yang valid. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

Nilai kembali

ZwOpenProcess mengembalikan STATUS_SUCCESS jika panggilan berhasil. Nilai yang mungkin dikembalikan termasuk kode status kesalahan berikut.

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER_MIX Pemanggil memberikan nama objek atau gagal memberikan ID klien.
STATUS_INVALID_CID ID klien yang ditentukan tidak valid.
STATUS_INVALID_PARAMETER Hak akses yang diminta tidak valid untuk objek proses.
STATUS_ACCESS_DENIED Hak akses yang diminta tidak dapat diberikan.

Keterangan

Parameter ClientId harus menunjuk ke ID klien yang mengidentifikasi utas yang prosesnya akan dibuka. Selain itu, bidang ObjectName dari struktur yang ditujukkan oleh ObjectAttributes harus diatur ke NULL.

Jika panggilan ke fungsi ini terjadi dalam mode pengguna, Anda harus menggunakan nama "NtOpenProcess" alih-alih "ZwOpenProcess".

Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinItas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntddk.h (termasuk Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Lihat juga

ACCESS_MASK

OBJECT_ATTRIBUTES

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli