我觉得有一个明显的答案,但它一直在逃避我.我在C++中有一些遗留代码在尝试调用OpenThread()时会中断.我在Visual C++ 2008 Express Edition中运行它.程序首先获取调用线程的ThreadID,并尝试打开它,如下所示:
ThreadId threadId = IsThreaded()?thread_id ::: GetCurrentThreadId();
HANDLE threadHandle = OpenThread(THREAD_ALL_ACCESS,FALSE,threadId);
现在这是我不明白的:如果线程ID是当前线程的ID,是不是已经打开了?这可能是它返回NULL的原因吗?
对于任何反馈,我们都表示感谢.