手头有三个文件PrinterUsb.dll,PrinterUsb.lib,PrinterUsbDeclare.h
Dll里面的函数有下面两个:
int GetDevicePath(DEVINFO &DevInfo)DEVINFO的定义在PrinterUsbDeclare.h中
typedef struct
{
  Char strDevPath[PATHLEN];
}DEVPATH;typedef struct

  DEVPATH DevPath[DEVNUM];
  int DevNum;
}DEVINFO;bool Write(char *pBuf,DWORD nNumberOfBytesToWrite,DWORD &NumberOfBytesWritten)我在VB中如何声明这两个函数呢,请各位高手帮忙一下,非常感谢,最好详细一点。

解决方案 »

  1.   

    Private Declare Function GetDevicePath Lib "PrinterUsb.dll" (ByVal sDevInfo As DEVINFO ) As Long
    Private Declare Function WriteLib "PrinterUsb.dll" (ByVal lpSTRpBuf As String,ByVal nNumberOfBytesToWrite as Long,ByVal NumberOfBytesWritten as Long) As Long
      

  2.   

    Private Declare Function GetDevicePath Lib "PrinterUsb.dll" (ByVal sDevInfo As DEVINFO ) As Long
    Private Declare Function WriteLib "PrinterUsb.dll" (ByVal lpSTRpBuf As String,ByVal nNumberOfBytesToWrite as Long,ByVal NumberOfBytesWritten as Long) As Long
      

  3.   

    还有一个bool Open(int PortNum)函数,
    可这个Open声明的话,是不是已经跟VB里面的Open函数重名了,怎么办?
      

  4.   

    Private Declare Function 欧盆 Lib "xxxx.dll" Alias "Open" ( [参数们]...) As Boolean
    其中"欧盆"随便你换成什么字符
      

  5.   

    "欧盆"很有意思,再弱弱的问一下,bool Write(char *pBuf,DWORD nNumberOfBytesToWrite,DWORD &NumberOfBytesWritten) Private Declare Function WriteLib "PrinterUsb.dll" (ByVal lpSTRpBuf As String,ByVal nNumberOfBytesToWrite as Long,ByVal NumberOfBytesWritten as Long) As Long对应的数据类型要怎么转换,指针不转成ByRef吗,Dword和&都转成Long吗,bool也可以转成Long吗?