函数指针调用OpenThread的有关问题,求解决

函数指针调用OpenThread的问题,求解决。
typedef HANDLE (__stdcall *OPENTHREAD)(DWORD,BOOL,DWORD);

OPENTHREAD* pfn = NULL;

int main(int argc, char* argv[])
{
HMODULE hModule = LoadLibrary("kernel32.dll");
pfn = (OPENTHREAD*)::GetProcAddress(hModule,"OpenThread");
if ( pfn != NULL )
{
pfn(THREAD_ALL_ACCESS,FALSE,100);
}
return 0;
}

在这个例子中,我调用出错了,请问我是哪里书写不正确。最后一个线程id在我代码中是正确,贴出来写100是为了方便。
另外想得到线程句柄还有其他办法么?是得到别人的线程句柄,不是自己的。OpenThread在VC中没有定义,所以只能通过这种方式调用。

------解决方案--------------------
GX楼主,可以结贴了
------解决方案--------------------
THREAD_ALL_ACCESS 访问权限是否有,可以用READ
------解决方案--------------------
探讨
typedef HANDLE (__stdcall *OPENTHREAD)(DWORD,BOOL,DWORD);


int main(int argc, char* argv[])
{
HMODULE hModule = LoadLibrary("kernel32.dll");
OPENTHREAD pfn = (OPENTHREAD)::GetProcAddress(hMod……