Ограничение дескриптора открытого файла в Windows Mobile - PullRequest
0 голосов
/ 04 июня 2009

Как узнать максимальное количество файловых дескрипторов, которые могут быть открыты одновременно на устройстве Windows Mobile?

Я запускаю нативное приложение C ++ на профессиональном эмуляторе Windows Mobile, и, кажется, существует ограничение в 39 дескрипторов открытых файлов (странное число, которое я знаю), где любые другие файлы, которые я открываю после этого, возвращают код ошибки 5 (ERROR_ACCESS_DENIED ).

Мне не удалось найти ответы на следующие вопросы: 1) Какое ограничение для дескрипторов открытых файлов, как найти это ограничение для разных устройств / платформ?

2) Почему возвращается код ошибки 5 (ERROR_ACCESS_DENIED), а не код ошибки 4 (ERROR_TOO_MANY_OPEN_FILES).

3) Почему 39? Это слишком мало, поскольку я пытаюсь написать программу, которая может потребовать до ~ 50.

1 Ответ

3 голосов
/ 04 июня 2009

Количество дескрипторов ограничено доступной памятью. Ошибка ERROR_ACCESS_DENIED означает, что драйвер файловой системы видит только то, что он не может создать запрошенный вами файл, он не знает основной причины. Я не могу сказать, когда будет возвращено ERROR_TOO_MANY_OPEN_FILES.

...