WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院软件开发VC 如何建立应用程序和驱动程序间的通信 阅读

如何建立应用程序和驱动程序间的通信

 2006-07-20 11:39:30 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示: void Test_P9052_IOCTL_804_ReadBase3(void){ULONGbufOutput[IOCTL_OUTBUF_SIZE];// 传出读取的数据缓冲区ULONGnOutput;// 实际读取的数据个数ULONG bufInput[2]; // 传入读取的参数UL
void Test_P9052_IOCTL_804_ReadBase3(void)
{
  ULONG  bufOutput[IOCTL_OUTBUF_SIZE];  // 传出读取的数据缓冲区
  ULONG  nOutput;            // 实际读取的数据个数
    ULONG  bufInput[2];           // 传入读取的参数
  ULONG  offset;             // 要读取的偏移地址
  printf("\n----------- ready for reading from Base3 -----------");
  //获取读取的偏移地址:
  printf("\nPlease input the offset of read operation(Hex):");
  scanf("%x",&offset);
//  //获取读取的数据个数:
//  printf("\nPlease input the number of data to read(Dec):");
//  scanf("%d",&number);
  bufInput[0]=offset;
  bufInput[1]=IOCTL_OUTBUF_SIZE;
  // Call device IO Control interface (PCI9054_IOCTL_804_ReadBase3) in driver
  if (!DeviceIoControl(hDevice,
             P9052_IOCTL_804_ReadBase3,
             bufInput,
             2*4,   // 字节
             bufOutput,
             IOCTL_OUTBUF_SIZE*4,//sizeof(bufOutput),
             &nOutput,
             NULL)
    )
  {
    printf("\nERROR: DeviceIoControl returns %0x.", GetLastError());
    Exit(1);
  }
  printf("\n------>>>>>> data read <<<<<<------");
  for(ULONG i=0;i<nOutput;i++)
  {
    printf("\nread data[%d]=%x",i,bufOutput[i]);
  }
  printf("\n\n");
}

驱动程序与应用程序的通信:

Tags:如何 建立 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接