如何对ezusb.sys驱动文件操作,实现数据采集?是不是只要把ezusbsys.h文件里的代码翻译成delphi的,然后参照c的例子,翻译一下就行吗?

解决方案 »

  1.   

    SYS是否提供了借口?比如IRP之类的,如果有现成的C通信代码可以直接翻译
      

  2.   

    irp是什么?是指下面ezusbsys.h代码中的irp吗?Ezusb_CreateDeviceObject(
        IN PDRIVER_OBJECT DriverObject,
        IN PDEVICE_OBJECT *DeviceObject,
        LONG Instance
        );NTSTATUS
    Ezusb_ConfigureDevice(
        IN  PDEVICE_OBJECT DeviceObject
        );NTSTATUS
    Ezusb_Create(
        IN PDEVICE_OBJECT DeviceObject,
        IN PIRP Irp
        );NTSTATUS
    Ezusb_Close(
        IN PDEVICE_OBJECT DeviceObject,
        IN PIRP Irp
        );NTSTATUS
    Ezusb_Read_Write(
       IN  PDEVICE_OBJECT DeviceObject,
       IN  PIRP Irp
       );
      

  3.   

    最好直接找找看有没有esusb做好的delphi接口(这个应该是一款通用Usb芯片的驱动)如果实在没有只好自己手动翻译。irp 是windows驱动中用到的一些消息,我也不懂。你要想了解可以去找  jedi的winnt库从中移植过来。祝好运
      

  4.   

    很麻烦,我做的是用VC写了个dll,给delphi调用,都是底层驱动,但是ezusb提供了一个vc6.0的lib文件,要全部翻译过来估计够呛。我们当时用的芯片是Cypress的