在一个unicode dll( COM)中,循环中使用CreateFile创建打开文件,当到6500次左右时候,程序直接退出,没有任何提示
dll中,在一个循环中使用CreateFile创建打开文件,当到6500个左右时候,程序直接退出,没有任何提示
该循环是在一个线程中
已经使用关闭函数。
这个dll是按 unicode 写的,在非unicode下正常
for( )
{
HANDLE hbmpFile = CreateFile(bmpFile, GENERIC_ALL, 0, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL);
if(hbmpFile== INVALID_HANDLE_VALUE)
{
m_logfile->AddText(GetLastError());
return FALSE;
}
//其他处理
if (NULL==CloseHandle(hbmpFile))
{
Msg(TEXT("CloseHandle failed"));
}
}
当运行到6500次左右时候,不会提示任何错误,调用该dll的进程直接退出。