首页
社区
课程
招聘
[求助]关于NtCreateThread的使用问题,请达人指教!!
发表于: 2008-4-28 14:13 6054

[求助]关于NtCreateThread的使用问题,请达人指教!!

2008-4-28 14:13
6054
本人用NtCreateThread创建线程(代码如下),函数返回值为0(NTSTATUS_SUCESS)函数调用成功,可是传入的PrintNum函数却没有运行,不知为何,请达人指教!!
void PrintNum(){
  for (int i =0;i<10;i++)
      cout<<i<<endl;
}
int fork(){
    NTSTATUS i;
    HANDLE ThreadHandle;
    CLIENT_ID ClientID;
    HANDLE handle;
    CONTEXT threadcontext;
    INITIAL_TEB InitialTeb;
   
    handle =GetCurrentProcess();

    RtlpCreateStack(handle, 0, 0, 0L, &InitialTeb );
    RtlInitializeContext(handle,&threadcontext, NULL, (PTHREAD_START_ROUTINE)(PrintNum),&InitialTeb);

    i =NtCreateThread(&ThreadHandle,THREAD_ALL_ACCESS,NULL,handle,&ClientID,&threadcontext,&InitialTeb,false);
    cout<<i;
    return 0;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
2
线程函数必须是stdcall调用规范的,看看是不是这个原因。
2008-4-28 23:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
昨天晚上试了一下不行,问题好像不是出在这里。
2008-4-30 09:36
0
雪    币: 321
活跃值: (275)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
4
呵呵,建议遇到这种情况,直接把代码放在附件里,方便别人帮你找出问题。
2008-4-30 09:47
0
游客
登录 | 注册 方可回帖
返回