WinDriverのWD_を検証する.Sleep関数小結

869 ワード

1.WinDriver 10.00ソフトウェア及び登録ダウンロード先:http://download.csdn.net/detail/dijkstar/7121371
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を消費するので、この関数はあまり意味がありません.