Я хотел бы знать, сколько файловых дескрипторов я открыл в своем приложении на C++. Можно ли это сделать с помощью функции Windows API?Извлечь количество открытых файловых дескрипторов с помощью Windows API
1
A
ответ
1
Вы можете задать каждый дескриптор в процессе, используя GetFileType.
DWORD type_char = 0,
type_disk = 0,
type_pipe = 0,
type_remote = 0,
type_unknown = 0,
handles_count = 0;
GetProcessHandleCount(GetCurrentProcess(), &handles_count);
handles_count *= 4;
for (DWORD handle = 0x4; handle < handles_count; handle += 4) {
switch (GetFileType((HANDLE)handle)){
case FILE_TYPE_CHAR:
type_char++;
break;
case FILE_TYPE_DISK:
type_disk++;
break;
case FILE_TYPE_PIPE:
type_pipe++;
break;
case FILE_TYPE_REMOTE:
type_remote++;
break;
case FILE_TYPE_UNKNOWN:
if (GetLastError() == NO_ERROR) type_unknown++;
break;
}
}
0
Если вы после проверки открытых ручек, то вы можете использовать утилиту Handle от SysInternals.
Смежные вопросы
- 1. Слишком много открытых файловых дескрипторов
- 2. Закрытие открытых файловых дескрипторов в дочернем процессе
- 3. Количество просмотренных файловых дескрипторов внутри epoll
- 4. Storm and Kafka: Увеличение количества открытых файловых дескрипторов
- 5. Jython: subprocess.Popen исчерпывает файловых дескрипторов
- 6. описания файловых дескрипторов Linux
- 7. Как определить количество открытых дескрипторов в .NET
- 8. Компонент filefc GlassfishESB вызывает слишком много открытых файловых дескрипторов
- 9. Ожидаемое потребление открытых файловых дескрипторов в Hadoop 0.21.0
- 10. Предотвращение повторного использования файловых дескрипторов
- 11. Контроль готовности файловых дескрипторов
- 12. IO на файловых дескрипторов
- 13. setsockopt() эквивалент для файловых дескрипторов без сокета?
- 14. Как распечатать общее количество файловых дескрипторов с индексом 24
- 15. Как наиболее эффективно обрабатывать большое количество файловых дескрипторов?
- 16. увеличение ULIMIT для # файловых дескрипторов
- 17. Увеличение количества файловых дескрипторов в Linux
- 18. Эффективный способ получить количество файловых ручек, открытых процессом в Go?
- 19. PHP-вилка без родительского наследования родительских файловых дескрипторов?
- 20. Получение файловых ассоциаций с использованием Windows API
- 21. Каковы возможные значения для файловых дескрипторов?
- 22. В Vxworks есть API, который возвращает общее количество дескрипторов файлов?
- 23. Как получить количество открытых дескрипторов, принадлежащих определенному процессу?
- 24. Ограничить количество дескрипторов файлов, открытых JVM для чтения зависимостей JARs
- 25. Как изменить максимальное количество дескрипторов файлов, открытых в Linux?
- 26. Увеличение максимального количества дескрипторов открытых файлов в Matlab в Windows с использованием fopen
- 27. Извлечь количество открытых QMainWindows в Qt
- 28. Предотвращение подпроцесса от наследования файловых дескрипторов
- 29. STDIN предотвращает активацию других файловых дескрипторов
- 30. Каков порядок возврата файловых дескрипторов в epoll?
Не могли бы вы уточнить, что вы подразумеваете под «файловыми дескрипторами»? Файл открыт, например. 'fopen' или' _open'? C++ файловые потоки? WIN32 'OpenFile' обрабатывает? –
Кроме того, любой ответ, который вы подсчитаете, будет мгновенно ошибочным, потому что другой поток может открыть или закрыть дескриптор, прежде чем вы сможете действовать в ответ. –