Tempo "EXATO" em C++

Salve pessoal.

Eu preciso fazer com que uma função na minha aplicação em C++, gaste exatamente 25 milisegundos, é um tempo muito pequeno e eu não consegui com as funções clock() nem Sleep(). Esta aplicação em C++ será uma dll que será chamada por outra aplicação (em java). Eu cheguei a fazer um for() com tempo final - tempo inicial e vi que esses milisegundos variam bastante.(Se a variação fosse menor e ao menos por uma vez, fosse conseguido os 25ms, eu tava tranquilo, massss)
Alguem sabe se existe um meio de conseguir isto? Pode ser em outra linguagem tambem.

Desde já agradeço a atenção

Abraço a todos.

Leia este artigo.
http://www.geisswerks.com/ryan/FAQS/timing.html

Outro link que pode te ajudar:

http://codeguru.earthweb.net/forum/showthread.php?p=857462

Para uma apresentação mais detalhada:

http://www.codeproject.com/KB/system/timers_intro.aspx

Já tentou usar o sleep usando também os nanotimes?

Eu testei aqui e a confiabilidade é próxima do mais confiável timer do Windows.
Mas claro, está sujeito as flutuações que estão citadas nos artigos.

Ah sim, e fazendo com JNI você também terá delays, que ocorrem na tradução das estruturas do C++ para o Java.