1:
HANDLE
CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes ,
SIZE_T dwStackSize ,
LPTHREAD_START_ROUTINE lpStartAddress ,
LPVOID lpParameter ,
DWORD dwCreationFlags ,
LPDWORD lpThreadId
);
A: 第三个参数是个函数指针,指向某种特定的函数,调用约定是 WINAPI//#define WINAPI __stdcall,
参数LPVOID保障了函数的合法性.
B: 次函数两个得到两个值:第一个值是HANDLE,大部分和线程有关的API函数都要使用它;第二个是参数ThreadID带回来的值,它是独一无二的表示一个进程中的某个线程.
说明:我们不可以从一个线程的ID从而得到其HANDLE.
2: BOOL CloseHandle(
HANDLE hObject
);
用来释放核心对象。
LPSECURITY_ATTRIBUTES lpThreadAttributes ,
SIZE_T dwStackSize ,
LPTHREAD_START_ROUTINE lpStartAddress ,
LPVOID lpParameter ,
DWORD dwCreationFlags ,
LPDWORD lpThreadId
);
A: 第三个参数是个函数指针,指向某种特定的函数,调用约定是 WINAPI//#define WINAPI __stdcall,
参数LPVOID保障了函数的合法性.
B: 次函数两个得到两个值:第一个值是HANDLE,大部分和线程有关的API函数都要使用它;第二个是参数ThreadID带回来的值,它是独一无二的表示一个进程中的某个线程.
说明:我们不可以从一个线程的ID从而得到其HANDLE.
2: BOOL CloseHandle(
HANDLE hObject
);
用来释放核心对象。