Can I use a system call?
Some of the Win32 things mention "millisecond precision only", but this isn't quite correct.<p>Waitable Timers on Win32 let you request time values in units of 200 nanoseconds.  See `CreateWaitableTimer`, and `SetWaitableTimer`.<p>`Sleep` and `SleepEx` can be implemented using a waitable timer, just use `WaitForSingleObjectEx`.<p>If you need to wait for an object (semaphore, etc) using a time unit other than milliseconds, you can use `WaitForMultipleObjectsEx` with one of them being a waitable timer.<p>---<p>The next question is if Win32 can actually deliver those requests for precise times or not.  From the testing I did a while ago where I was simulating Sleep, I got actual sleep times rounded to about 4ms.  So much for requesting nanosecond level precision.