IoGetRequestorProcess 函式 (ntifs.h)

IoGetRequestorProcess 例程會傳回原本要求指定 I/O 作業之線程的進程指標。

語法

PEPROCESS IoGetRequestorProcess(
  [in] PIRP Irp
);

參數

[in] Irp

I/O 要求封包的指標, (IRP) I/O 作業。

傳回值

IoGetRequestorProcess 會傳回要求 I/O 作業之線程的進程指標。 如果 IRP 未與任何線程相關聯, IoGetRequestorProcess 會傳回 NULL

備註

以 Windows Vista 星號顯示。 IoGetRequestorProcess 會傳回線程目前附加之進程的指標。 針對佇列用於檔案物件的 IRP,例如完成埠 I/ O,IoGetRequestorProcess 會傳回發行程式的指標。 如果沒有附加線程, IoGetRequestorProcess 會傳回建立線程之進程的指標。

在 Windows XP 上, IoGetRequestorProcess 會傳回線程目前所連結之進程的指標。

注意 在 Windows XP 上,如果 IRP 包含非 NULL 線程,但沒有附加線程, IoGetRequestorProcess 會嘗試存取未定義線程的進程資訊。 如果 呼叫IoGetRequestorProcess 而不進行例外狀況處理,或 IRQL 太高,這會產生可能的錯誤檢查條件。

 

在 Windows XP 之前, IoGetRequestorProcess 會傳回建立線程之進程的指標。

如果 I/O 管理員發出 I/O 管理員,或透過呼叫 IoBuildAsynchronousFsdRequestIoBuildSynchronousFsdRequestIoBuildDeviceIoControlRequest 來取得,則 IRP 會自動與線程產生關聯。

如需在非bitrary 線程內容中使用系統線程和管理同步處理的詳細資訊,請參閱 驅動程式線程、發送器對象和資源

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另請參閱

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId