Como enumerar identificadores de processo?

xiste alguma maneira de enumerar o processo com o PID fornecido no Windows e obter uma lista de todos os seus identificadores abertos (arquivos bloqueados, etc.

EDIT: Eu não me importo com a linguagem. Se for no .NET, eu ficaria feliz, se no WinApi (C), não vai doer. Se em outra coisa, acho que posso reescrevê-lo: -)

questionAnswers(4)

yourAnswerToTheQuestion