KeStackAttachProcess 函式 (ntifs.h)
KeStackAttachProcess 例程會將目前的線程附加至目標進程的位址空間。
謹慎 請特別小心使用此例程。 (請參閱一節中的附注。)
語法
void KeStackAttachProcess(
PRKPROCESS PROCESS,
[out] PRKAPC_STATE ApcState
);
參數
PROCESS
目標進程物件的指標。 此參數可以是 IoGetCurrentProcess 或 PsGetCurrentProcess所傳回的 PEPROCESS 指標。
[out] ApcState
KAPC_STATE 結構的不透明指標。 呼叫端必須從非分頁集區或呼叫端自己的線程堆疊配置此結構的記憶體。
傳回值
無
備註
KeStackAttachProcess 會將目前的線程附加至 Process 參數所指向之進程的地址空間。 如果目前的線程已經附加至另一個進程, ApcState 參數就會在 KeStackAttachProcess 附加至新進程之前收到目前的 APC 狀態。
每次呼叫 KeStackAttachProcess 都必須與 後續對 KeUnstackDetachProcess 的呼叫相符。
注意 將線程附加至不同的進程可能會防止異步 I/O 作業完成,而且可能會導致死結。 一般而言,呼叫 KeStackAttachProcess 與 呼叫 KeUnstackDetachProcess 之間的程式代碼行應該非常簡單,而且不應該呼叫複雜的例程或將 IRP 傳送給其他驅動程式。
如需在非位線程內容中使用系統線程和管理同步處理的詳細資訊,請參閱 Windows Kernel-Mode 進程和線程管理員。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h、Fltkernel.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |