b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

wdm设备驱动程序开发_windows驱动开发工具_u盘win7缺少驱动程序(5)

电脑杂谈  发布时间:2017-05-17 20:09:07  来源:网络整理

CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_HELLO_INDEX+1,METHOD_BUFFERED,FILE_ANY_ACCESS)

#define erron GetLastError()

#define MY_DEVICE_NAME "\\\\.\\HelloWorld"

#define MY_DEVICE_START "-start"

#define MY_DEVICE_STOP "-stop"

BOOL DriverControl (TCHAR *Maik);

void Usage (TCHAR *Paramerter);

int main (int argc,TCHAR *argv[])

{

if (argc!=2)

{

Usage(argv[0]);

return 0;

}

if (strcmpi(argv[1],MY_DEVICE_START)==0 || strcmpi(argv[1],MY_DEVICE_STOP)==0)

DriverControl(argv[1]);

else

{

Usage(argv[0]);

return 0;

}

return 0;

}

BOOL DriverControl (TCHAR *Maik)

{

HANDLE hDevice=NULL; //设备句柄

DWORD RetBytes=0;

//获得设备句柄

hDevice=CreateFile(MY_DEVICE_NAME,GENERIC_READ |

GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

if (hDevice==INVALID_HANDLE_VALUE)

{

#ifdef DEBUGMSG

printf("CreateFile() GetLastError reports %d\n",erron);

#endif

return FALSE;

}

//启动

if (strcmpi(Maik,MY_DEVICE_START)==0)

{

//传递启动的I/O控制代码

if (!(DeviceIoControl(hDevice,START_HELLPWORLD,NULL,0,NULL,0,&RetBytes,NULL)))

{

#ifdef DEBUGMSG

printf("DeviceIoControl() GetLastError reports %d\n",erron);

#endif

CloseHandle(hDevice);

return FALSE;

}

}

//停止

if (strcmpi(Maik,MY_DEVICE_STOP)==0)

{

//传递停止的I/O控制代码

if (!(DeviceIoControl(hDevice,STOP_HELLPWORLD,NULL,0,NULL,0,&RetBytes,NULL)))

{

#ifdef DEBUGMSG

printf("DeviceIoControl() GetLastError reports %d\n",erron);

#endif

CloseHandle(hDevice);

return FALSE;

}

}

if (hDevice)

CloseHandle(hDevice); //关闭句柄

return TRUE;

}

void Usage (TCHAR *Paramerter)

{

fprintf(stderr,"=======================================================================


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47708-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 张彩
      张彩

      撞啊

    • 张许苛
      张许苛

      不管是外在的软实力还是内在的硬实力

    • 狄晶
      狄晶

      苹果5代的更新9系统就别在这BB

    热点图片
    拼命载入中...