CloseHandle

更新时间:2023-10-20 21:52

CloseHandle包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制

函数介绍

方法名称: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数据然后用进行转换

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}