更新时间:2023-10-20 21:52
方法名称:CloseHandle
位置:Kernel32.dll
BOOL CloseHandle(HANDLE hObject);
参数
hObject :代表一个已打开对象handle。
返回值
TRUE:执行成功;
FALSE:执行失败,可以调用GetLastError( )获知失败原因。
关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。在CreateThread成功之后会返回一个hThread的handle,且内核对象的计数加1,CloseHandle之后,引用计数减1,当变为0时,系统删除内核对象。
若在线程执行完之后,没有调用CloseHandle,在进程执行期间,将会造成内核对象的泄露,相当于句柄泄露,但不同于内存泄露,这势必会对系统的效率带来一定程度上的负面影响。但当进程结束退出后,系统会自动清理这些资源。
如果函数成功,则返回值为非零。
如果函数失败,则返回值为零。要获取扩展的错误信息,请调用 GetLastError。
如果应用程序在调试器下运行,则该函数将收到无效的句柄值或伪句柄值,否则将引发异常。如果您两次关闭一个句柄,或者在FindFirstFile函数返回的句柄上 调用 CloseHandle而不是调用FindClose函数,则会发生这种情况。
参数 类型及说明
hObject Long,欲关闭的一个对象的句柄
除非对内核对象的所有引用都已关闭,否则该对象不会实际删除
从一个文件中读取DDB数据然后用进行转换