WinDriverのWD_を検証する.Sleep関数小結
869 ワード
1.WinDriver 10.00ソフトウェア及び登録ダウンロード先:http://download.csdn.net/detail/dijkstar/7121371
2.以下の検証プログラムのダウンロード先:
WinDriverは、ユーザー状態で核を操作できるので、WinDriverには遅延関数WD(u)があります.Sleepは、提供されたパラメータがマイクロ秒レベルに達し、CPUを消費しないので、ユーザ状態でミリ秒以下の遅延をしたいですが、まず検証を行います.
2.以下の検証プログラムのダウンロード先:
WinDriverは、ユーザー状態で核を操作できるので、WinDriverには遅延関数WD(u)があります.Sleepは、提供されたパラメータがマイクロ秒レベルに達し、CPUを消費しないので、ユーザ状態でミリ秒以下の遅延をしたいですが、まず検証を行います.
#include <stdio.h>
#include "./include/wdc_lib.h"
#include "./include/utils.h"
#pragma comment(lib, "wdapi1000.lib")
#pragma comment(lib, "windrvr6.lib")
void main()
{
WD_SLEEP slp;
BZERO(slp);
slp.dwMicroSeconds = 17500 ; // 17000,
slp.dwOptions = SLEEP_NON_BUSY;
HANDLE hWD;
hWD = WD_Open();
if (hWD == INVALID_HANDLE_VALUE)
{
printf("Cannot open WinDriver device
");
}
while(1)
{
WD_Sleep(hWD, &slp);
//Sleep(1);
}
}
ただし、文書で説明したように、slap.dwMicroSecondsが1700未満の場合(17ミリ秒)もCPUを消費するので、この関数はあまり意味がありません.