打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CreateFile后为何要CloseHandle?
MSDN中对于CreateFile有这样一句话:
Use the CloseHandle function to close an object handle returned by CreateFile.
就是说CreateFile后需要用CloseHandle关闭返回的handle。于是我做了个小程序进行测试:
int _tmain(int argc, _TCHAR* argv[]){ HANDLE hFile = CreateFile(".\\1.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); CloseHandle(hFile); return 0;}


在CloseHandle(hFile);的位置设置了断点,那么程序运行到这个断点的时候,可以在目录中看到1.txt文件了。但是打开后对其进行写操作,并保存,提示“不能创建文件。。。请确认文件名和路径是否正确”。当我执行完CloseHandle后,就可以保存了。
我的问题是,为什么没有CloseHandle就不能对文件进行操作?

CreateFile已经把文件打开了,FILE_SHARE_READ这个属性表示别的程序可以打开来读,但不能写
CloseHandle就关闭文件,释放了对文件的控制权了
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
深入理解ZwCreateFile
Windows API一日一练(54)WriteFile和ReadFile函数
Windows系统程序设计之内存映射
文件的HANDLE转化为FILE*!!! - 力为 (mythma)
共享内存的使用
VC下检查文件是否打开
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服