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 管理員,或透過呼叫 IoBuildAsynchronousFsdRequest、 IoBuildSynchronousFsdRequest 或 IoBuildDeviceIoControlRequest 來取得,則 IRP 會自動與線程產生關聯。
如需在非bitrary 線程內容中使用系統線程和管理同步處理的詳細資訊,請參閱 驅動程式線程、發送器對象和資源。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |