当试图获取对CD-ROM设备的低级访问时,CreateFile分配2(!!)句柄并且CloseHandle仅关闭一个句柄。操作系统Windows XP SP3,7个测试计算机中的5个工作原理相同。在WinAPI CreateFile中处理泄漏?
当试图访问硬盘驱动器号时CreateFiles工作正常并且只分配一个句柄。
下面是示例代码:
HANDLE m_driveHandle = CreateFileW( “\\\\ \\ E”,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);CloseHandle(m_driveHandle);
什么是可能的原因,或者它只是一个微软的错误?
Upd。驱动器名称未被剪切&粘贴。右边的字符串是L“\\。\ E:”。错误仍然存在。
Upd2。问题解决了!从我(欧米茄)看下面的答案。
你是如何确认这是开始泄漏的? – MSN 2009-02-09 21:45:04
是的,我们禁用可能的包装软件,包括防病毒和nero(但不卸载它,嗯......) – Svetlana 2009-02-09 21:49:33
在TaskManager,ProcessExplorer等检测到泄漏 – Svetlana 2009-02-09 21:50:22