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