Проверка валидности ручки - в лучшем случае лейкопластырь.
Вам следует отладить процесс - установить точку останова в точке, в которой установлен дескриптор (открытие файла), а когда вы нажимаете этот код и после того, как дескриптор установлен, установите вторую , условную точка останова для срабатывания при изменении значения дескриптора.
Это должно позволить вам выяснить основную причину, а не просто проверить, что дескриптор действителен при каждом доступе, что ненадежно, дорого и необязательно при правильной логике.