CreateFile返回负句柄

时间:2011-11-02 14:17:13

标签: vb6 filehandle createfile window-handles

任何想法为什么createfile()函数将返回-1。

Handle = CreateFile(filename, &H80000000, 0, 0, 3, &H80, 0)

这是运行几次。我想也许文件没有正确关闭?

修改

Err.LastllError返回32。

2 个答案:

答案 0 :(得分:4)

错误32是ERROR_SHARING_VIOLATION(reference),这意味着其他一些进程仍然打开了文件。

答案 1 :(得分:4)

你可能没有在某个地方关闭文件。我将首先查看我打开文件的位置,并确保我有一个错误处理例程。在错误处理程序中,我将检查“句柄”的值,如果它是有效的调用CloseHandle(句柄)。此外,由于您要打开文件以进行读取访问,因此可以将dwShareMode参数更改为1,以允许后续打开对同一文件的读取操作。