Вы можете узнать, какие дескрипторы открыты в процессе, проанализировав его память.Перечисление процессов выполняется с использованием
EnumProcesses()
. Затем вы можете использовать системный API (предоставленный вам только DDK, к сожалению). Если вам нужна дополнительная информация (как, я уверен, вы делаете), вот действительнополезная тема.
Sysinternals