Delay ou Sleep de uS ?

Alguém consegue informar-me se no PC é possível fazer micro temporizações na faixa de microsegundos?
O delay do DOS e o Sleep do Windows são para milisegundos.
A única forma que encontrei mas considerei anti profissional. Elaborar uma rotina de calibração ao iniciar o aplicativo toda vez, aguarda o relogio do pc mudar de segundo (tick) e iniciar um loop quase infinito até o proximo tick de segundo, assim saberei quantos laços while ou for são necessários para completar 1 segundo. Depois com uma simples regrinha dos 3, saberei a quantidade de laços por microsegundo.
Existe outra maneira mais confiável para fazer isso? A idéia principal é fazer um aplicativo para rodar no Windows.
O maior incoveniente se na calibração o usuario resolve abrir um aplicativo simultaneamente perde a referencia, ou mesmo durante a aplicação rodando o usuario resolve abrir outro aplicativo em segundo plano como por exemplo ouvir um MP3...
Pensei utilizar o relogio do PC porém a menor escala disponível são 10mS foi o formata de hora é hh:mm:ss:nn ou seja 1 segundo é dividido em 100 partes.
O delay do DOS e o Sleep do Windows são para milisegundos.
A única forma que encontrei mas considerei anti profissional. Elaborar uma rotina de calibração ao iniciar o aplicativo toda vez, aguarda o relogio do pc mudar de segundo (tick) e iniciar um loop quase infinito até o proximo tick de segundo, assim saberei quantos laços while ou for são necessários para completar 1 segundo. Depois com uma simples regrinha dos 3, saberei a quantidade de laços por microsegundo.
Existe outra maneira mais confiável para fazer isso? A idéia principal é fazer um aplicativo para rodar no Windows.
O maior incoveniente se na calibração o usuario resolve abrir um aplicativo simultaneamente perde a referencia, ou mesmo durante a aplicação rodando o usuario resolve abrir outro aplicativo em segundo plano como por exemplo ouvir um MP3...
Pensei utilizar o relogio do PC porém a menor escala disponível são 10mS foi o formata de hora é hh:mm:ss:nn ou seja 1 segundo é dividido em 100 partes.