Санджит,
Похоже (мне), что вы делаете это совершенно правильно. QueryPerformanceCounter - это отличный способ измерения коротких периодов времени с высокой степенью точности. Если вы не видите ожидаемого результата, скорее всего, потому что сон не длится столько времени, сколько вы ожидали! Однако, это, вероятно, измеряется правильно.
Я хочу вернуться к исходному вопросу о том, как измерять время в окнах с точностью до микросекунды. Как вы уже знаете, высокопроизводительный счетчик (то есть QueryPerformanceCounter) «тикает» с частотой, сообщаемой QueryPerformanceFrequency. Это означает, что вы можете измерять время с точностью, равной:
1 / частота секунд
На моей машине QueryPerformanceFrequency сообщает 2337910 (счетчиков в секунду). Это означает, что QPC моего компьютера может измерять с точностью 4,277e-7 секунд или 0,427732 мкс. Это означает, что наименьший бит времени, который я могу измерить, составляет 0,427732 мкс. Это, конечно, дает вам точность, о которой вы изначально просили :) Частота вашей машины должна быть схожей, но вы всегда можете выполнить математику и проверить ее.