软件注册站
热情软件屋

 
Win32与驱动程序间,如何利用数据结构来定义初期数据的
编号: QA003711    
建立日期: 2000年12月27日 最后修改日期: 2000年12月27日
所属类别: C/C++ - DDK与硬件设备
   
    我想问个Win32与驱动程序间关系的问题。Win32中一般使用deviceIocontrol()来传递控制需求,如初期化等。
    设定IOCTL_####,使用宏CTL_CODE( )。我想问如果有初期化的数据时,是如何利用数据结构来定义初期数据的?
    (liudongxin)
   
    你可以定义一个结构,然后利用DeviceIoControl传递,如
    在Win32程序中:
    MAP_MEMORY mapmem;
    DWORD b, nByte = 0;
    
    DeviceIoControl(hDevice, IOCTL_MAPMEMORY, &mapmem, sizeof(mapmem),
     &b, sizeof(b), &nByte, 0);
    在设备驱动中:
    MAP_MEMORY *pmapmem;
    pmapmem = (MAP_MEMORY *)pIrp->AssociatedIrp.SystemBuffer;
    
    相关书籍:
    《WINDOWS设备驱动程序技术内幕 》
    《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》
    《Windows 设备驱动程序(VXD 与 WDM)开发实务 含盘》
    《虚拟设备驱动程序开发起步与进阶》
    《WIN 9X虚拟设备驱动程序编程指南》

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, DDK与硬件设备, hardware, ddk, vtoolsd, driver studio, winrt

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio