HANDLE

简介: HANDLE:句柄,是Windows用来表示对象的(不是C++的对象),HWND是其中一种,HWND是HANDLE,但HANDLE不只是HWND,更具体的查MSDN吧。        HANDLE(句柄)是windows操作系统中的一个概念。

    HANDLE:句柄,是Windows用来表示对象的(不是C++的对象),HWND是其中一种,HWND是HANDLE,但HANDLE不只是HWND,更具体的查MSDN吧。   

    HANDLE(句柄)是windows操作系统中的一个概念。在window程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄句柄指的是一个核心对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。句柄列表: 每个进程都要创建一个句柄列表,这些句柄指向各种系统资源,比如信号量线程,和文件等,进程中的所有线程都可以访问这些资源 。  

   其实我们编程时输出一下句柄的值就可以发现这些值往往非常小(<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;   

}

img_e00999465d1c2c1b02df587a3ec9c13d.jpg
微信公众号: 猿人谷
如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
如果您希望与我交流互动,欢迎关注微信公众号
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

目录
相关文章
|
2月前
|
Go
panic:runtime error:invalid memory address or nil pointer dereference
panic:runtime error:invalid memory address or nil pointer dereference
|
6月前
|
消息中间件
Handle 的sendMessageDelayed
Handle 的sendMessageDelayed
41 0
|
11月前
|
数据安全/隐私保护
Register fail:AuthenticationaFailureException
Register fail:AuthenticationaFailureException
75 1
|
Java Android开发
Bad method handle type 7异常解决
在利用androidx版本写demo时,在添加了一些依赖后,遇到了`java.lang.ClassNotFoundException`bug,这就很奇怪了,我就添加rxjava3的依赖,就给我报这个错误。
error: static assertion failed: Signal and slot arguments are not compatible.
error: static assertion failed: Signal and slot arguments are not compatible.
error: static assertion failed: Signal and slot arguments are not compatible.
|
网络安全 Windows
解决adb报错“failed to create fdevent interrupt socketpair: Invalid argument“问题
解决adb报错“failed to create fdevent interrupt socketpair: Invalid argument“问题
345 0
解决adb报错“failed to create fdevent interrupt socketpair: Invalid argument“问题
Unable to handle kernel NULL pointer dereference at virtual address 00000000问题的解决
今天在编译好内核模块后,安装内核模块memdev.ko的时候,出现了Unable to handle kernel NULL pointer dereference at virtual address 00000000等如图所示的问题:     在百度和google找了很多答案,明显就是跟指针有关系。
3197 0