如何在窗口中创建内核和用户堆栈

时间:2013-07-02 01:09:59

标签: multithreading window kernel

如何在窗口中创建内核和用户线程?

我相信CreateThread在其DLL的内核线程基础上? http://msdn.microsoft.com/en-us/library/windows/desktop/ms682453%28v=vs.85%29.aspx

如果存在如何创建用户线程的情况?

1 个答案:

答案 0 :(得分:0)

我不清楚你想要什么。有几个线程函数

1)PsCreateSystemThread - 只有km驱动程序可以使用它。线程仅在km堆栈的系统上下文中执行。

2)CreateThread - usermode api,对非文档系统服务NtCreateThread的调用,包含km和um堆栈,并在当前进程上下文中执行。

3)光纤(http://msdn.microsoft.com/en-us/library/windows/desktop/ms682661(v=vs.85).aspx) - 完全用户模式执行单元,必须手动调度。许多光纤在一个真实的线程中执行。

4)UMS(http://msdn.microsoft.com/en-us/library/windows/desktop/dd627187(v=vs.85).aspx)在光纤和真实线程之间的中间位置。我没有使用它,也不能说更多。