DeleteFile falha no arquivo recentemente fechado

Eu tenho um único programa de thread (C ++, Win32, NTFS) que primeiro cria um arquivo temporário bastante longo, fecha, abre para leitura, lê, fecha novamente e tenta excluir usandoDeleteFile().

Geralmente vai bem, mas às vezesDeleteFile() falha eGetLastError() retorna ERROR_ACCESS_DENIED. O arquivo não é somente leitura, com certeza. Isso acontece em arquivos de qualquer tamanho, mas a probabilidade aumenta com o tamanho do arquivo.

Alguma idéia do que pode estar bloqueando o arquivo? Eu tentei ferramentas WinInternals para verificar e não encontrou nada suspeito.

questionAnswers(7)

yourAnswerToTheQuestion