Bagikan melalui


Fungsi IoGetRequestorProcess (ntifs.h)

Rutinitas IoGetRequestorProcess mengembalikan penunjuk proses untuk utas yang awalnya meminta operasi I/O tertentu.

Sintaks

PEPROCESS IoGetRequestorProcess(
  [in] PIRP Irp
);

Parameter

[in] Irp

Penunjuk ke paket permintaan I/O (IRP) untuk operasi I/O.

Nilai kembali

IoGetRequestorProcess mengembalikan penunjuk proses untuk utas yang meminta operasi I/O. Jika IRP tidak terkait dengan utas apa pun, IoGetRequestorProcess mengembalikan NULL.

Keterangan

Menatap dengan Windows Vista. IoGetRequestorProcess mengembalikan penunjuk ke proses tempat utas saat ini terpasang. Untuk IRP yang diantrekan untuk objek file, seperti untuk penyelesaian port I/O, IoGetRequestorProcess mengembalikan pointer ke proses penerbitan. Jika tidak ada utas yang terpasang, IoGetRequestorProcess mengembalikan penunjuk ke proses yang membuat utas.

Pada Windows XP, IoGetRequestorProcess mengembalikan penunjuk ke proses tempat utas saat ini terpasang.

Catatan Pada Windows XP, dalam kasus di mana IRP berisi utas non-NULL tetapi tidak memiliki utas yang terpasang, IoGetRequestorProcess akan mencoba mengakses informasi proses untuk utas yang tidak terdefinisi. Ini menyajikan kemungkinan kondisi pemeriksaan bug jika IoGetRequestorProcess dipanggil tanpa penanganan pengecualian atau terlalu tinggi dari IRQL.

 

Sebelum Windows XP, IoGetRequestorProcess mengembalikan penunjuk ke proses yang membuat utas.

IRP secara otomatis dikaitkan dengan utas jika dikeluarkan oleh Manajer I/O atau diperoleh dengan memanggil IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest, atau IoBuildDeviceIoControlRequest.

Untuk informasi selengkapnya tentang menggunakan utas sistem dan mengelola sinkronisasi dalam konteks utas nonarbitrer, lihat Utas Driver, Objek Dispatcher, dan Sumber Daya.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Lihat juga

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId