У меня сложилось впечатление, что если приложение имеет открытый дескриптор, и он падает, дескриптор не освобождается, и если вы попытаетесь получить доступ к этому дескриптору (скажем, к файлу), то вы получите ошибку.
Тем не менее, я пробовал это в Windows XP и далее, и дескриптор, кажется, освобождается, если я закрываю exe из диспетчера задач, прежде чем он закроет дескриптор. Ниже приведен код:
Private Sub Form_Load()
Dim iFile As Integer
iFile = FreeFile
Open "myfilelock" For Output Lock Read Write As #iFile
MsgBox "About to close" 'close it here with task manager
Close #iFile
End Sub
Итак, Windows XP и далее выпускает все открытые дескрипторы в случае сбоя исполняемого файла с этими дескрипторами?