能力值:
( LV12,RANK:760 )
|
-
-
2 楼
1.你ref了必须Deref 2.Wait是好习惯
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
cvcvxk
1.你ref了必须Deref
2.Wait是好习惯
哇 V大居然回了我的帖子···好吧 我知道要解引用 额 我的疑问其实是 系统线程是return 后 就自动结束了呢? 还是要在return前 调用下 PsTerminateSystemThread 才会结束
|
能力值:
( LV12,RANK:760 )
|
-
-
4 楼
青城往事
哇 V大居然回了我的帖子···好吧 我知道要解引用
额 我的疑问其实是
系统线程是return 后 就自动结束了呢?
还是要在return前 调用下 PsTerminateSystemThr ...
return有些问题,就是你Wait会等到天地老。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
cvcvxk
return有些问题,就是你Wait会等到天地老。
那如果一个需要一个线程的返回值 只能用out指针这样的办法来处理咯 so 按V大的说法 在线程结尾处 添加 PsTerminateSystemThread 就OK了?
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
status = PsCreateSystemThread(&threadHandle, (ACCESS_MASK)0, NULL, (HANDLE) 0, NULL, ThreadProc, NULL ); if ( !NT_SUCCESS( status )) { //to do } // // Convert the Thread object handle into a pointer to the Thread object // itself. Then close the handle. // ObReferenceObjectByHandle(threadHandle, THREAD_ALL_ACCESS, NULL, KernelMode, &ThreadObject, NULL ); ZwClose(threadHandle);
KeWaitForSingleObject(ThreadObject, Executive, KernelMode, FALSE, NULL); ObDereferenceObject(ThreadObject);
最后于 2018-5-2 09:28
被叁毛编辑
,原因:
|
能力值:
( LV9,RANK:280 )
|
-
-
7 楼
标准流程:PsCreateSystemThread+ZwWaitForSingleObject+ZwClose
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
PsTerminateSystemThread(STATUS_SUCCESS); 之后就没了应该 后面的return 不会执行 还有return 0 不能结束线程 线程对象还在
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
调用的时候要在怎么调用啊?是调用线程函数还是调用创建线程的函数?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
学习打卡
|
|
|