摘要: 以下几点是一些总结: ●CreateThread() API 用于创建线程。 API 返回同时线程句柄和线程标识符 (ID)。 线程句柄有完全访问权创建线程对象。 运行线程时线程 ID 唯一标识线程在系统级别。 ●ID是在Windows系统范围内唯一标示Thread的。 ●Handle是用来操作Thread的,可以有多个,每个HANDLE可以有不同的操作权限,在不同进程OpenThread得... 阅读全文
posted @ 2009-03-18 16:05 jcss 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: 通常,我们为了使自己的程序结束,会在主函数中使用return或调用exit()。在windows下还有ExitProcess()和TerminateProcess()等函数。 本文的目的是比较以上几种结束程序的方式的区别,并分析其原理。 首先我们用一个例子来说明几种结束方式的区别。 测试环境为Windows XP H... 阅读全文
posted @ 2009-03-18 15:28 jcss 阅读(1199) 评论(0) 推荐(0) 编辑
摘要: 一共有三种方法: 1。 这种情况,一般是将线程函数申明为静态,如: class CRealtimeTask { public: static UINT taskmain(LPVOID param); BOOL StartTask(); }; 在类中定义的成员函数,VC在编译时会强加一个this指针,所以才会... 阅读全文
posted @ 2009-03-18 14:58 jcss 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 如果函数正常执行,则返回 S_OK,同时真正的函数运行结果则通过参数指针返回。如果遇到了异常情况,则COM系统经过判断,会返回相应的错误值。 HRESULT 值 含义 S_OK 0x00000000 成功 S_FALSE 0x00000001 函数成功执行完成,但返回时出现错误 E_INVALIDARG 0x8007... 阅读全文
posted @ 2009-03-18 14:09 jcss 阅读(9909) 评论(2) 推荐(1) 编辑
摘要: 供WIN9X使用的高精度定时器:QueryPerformanceFrequency()和QueryPerformanceCounter(),要求计算机从硬件上支持高精度定时器。 函数的原形是: BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency); BOOL QueryPerformanceCounter (LARGE_INT... 阅读全文
posted @ 2009-03-18 12:08 jcss 阅读(774) 评论(0) 推荐(0) 编辑