http://www.baidu.com/p/lovemezhoupeng?from=zhidao
HANDLE也是一个值 就是说INVALID_HANDLE_VALUE的值等效于(HANDLE)-1的值 HANDLE(句柄)是windows操作系统中的一个概念。 指的是一个核心对象在某一个进程中的唯一索引,而不是指针。 由于地址空间的限制,句柄所标识的内容对进程是不可见的, 只能由操作系统通过进程句柄列表来进行维护。 句柄列表: 每个进程都要创建一个句柄列表,这些句柄指向各种系统资源, 比如信号量,线程,和文件等,进程中的所有线程都可以访问这些资源 其实我们编程时输出一下句柄的值就可以发现这些值往往非常小(<100)。 由此就可以看出句柄的性质了。 无效的返回值为: INVALID_HANDLE_VALUE 编程时可作调试用: 例如 void main() { char ch[20]="Test.dsw"; HANDLE handle; LPWIN32_FIND_DATA fd; handle = FindFirstFile(ch, fd); if (handle != INVALID_HANDLE_VALUE) cout<<"ok"<<endl; else cout<<"no"<<endl; }