那这些函数不需要在VB中申明吗?
调用的函数,你是指的这些吗?
该怎么申明和调用???
typedef void (CALLBACK *IoCallBack)(DWORD dwCard)说明:IO报警所需的指针函数预定义.参数:dwCard:返回的卡号. typedef void (CALLBACK *AuPrcCallBack)(DWORD dwCard,BYTE *pbuf,DWORD siz) 说明:捕获音频数据流所需的指针回调函数预定义.参数:dwCard:返回的卡号.Pbuf:  音频数据的指针siz:        音频缓冲区大小 void WINAPI OutAuBuff(DWORD dwCard,AuPrcCallBack pAuCall)说明:    注册音频数据捕获回调功能.参数:    dwCard:      当前操作的卡号。以0为基数。pAuCall:       回调函数指针.参见前面的说明.返回:    无 void  WINAPI OutBuff(DWORD    dwCard, PrcCallBack ppCall)说明:    注册当前卡的原始数据回调功能接口.参数:    dwCard:当前操作的卡号.ppCall:  回调函数指针,PrcCallBack为指针函数,其定义详见前面的说明.返回:    无备注:    该功能只有在函数PrepareVideoCapture里面的参数dwMode为1时才生效. void  WINAPI IOAlertPrc(DWORD dwCard, IoCallBack IoCall)说明:    注册用户自定义的IO报警回调函数。参数:    dwCard:      当前操作的卡号.IoCall:         IO回调函数指针. IoCallBack祥见前面说明.返回:    无 void  WINAPI OutMpegBuff(DWORD dwCard, PrcMpegCallBack ppCall)说明:    注册MPEG4压缩流输出回调函数.参数:    dwCard:      当前操作的卡号.ppCall:         回调函数指针. PrcMpegCallBack详见前面说明.返回:    无  void WINAPI OutAuBuff(DWORD dwCard, AuPrcCallBack pAuCall)说明:    注册音频数据捕获回调函数.参数:    dwCard:      当前操作的卡号。以0为基数。pAuCall:       回调函数指针.参见前面的说明.返回:    无 注:1、应避免在回调函数中调用界面相关的函数,请使用PostMessage方法完成界面更新         2、如果必须要在回调函数中更新界面,则不能在同一界面线程环境中调用如下函数:          StopVideoCapture          StopAudioCapture          IOQuit                   否则可能造成死锁。         3、应在回调函数中执行尽量少的功能,使其尽快返回。

解决方案 »

  1.   

    回调函数不是调用程序使用的,而是在调用程序中根据这个函数的规格建立一个回调函数,然后再调用DLL中特定函数的时候将回调函数的地址传递给函数,然后DLL中的函数在特定的时候回调用这个回调函数
    常见的回调函数的应用在枚举,例如枚举系统中安装的字体等。
      

  2.   

    模块中写:
    Option Explicit'void WINAPI OutAuBuff(DWORD dwCard,AuPrcCallBack pAuCall)
    Public Declare Sub OutAuBuff Lib "xx.dll" (ByVal dwCard As Long, ByVal pAuCall As Long)'void  WINAPI OutBuff(DWORD    dwCard, PrcCallBack ppCall)
    Public Declare Sub OutBuff Lib "xx.dll" (ByVal dwCard As Long, ByVal ppCall As Long)'void  WINAPI IOAlertPrc(DWORD dwCard, IoCallBack IoCall)
    Public Declare Sub IOAlertPrc Lib "xx.dll" (ByVal dwCard As Long, ByVal IoCall As Long)'void  WINAPI OutMpegBuff(DWORD dwCard, PrcMpegCallBack ppCall)
    Public Declare Sub OutMpegBuff Lib "xx.dll" (ByVal dwCard As Long, ByVal ppCall As Long)'void WINAPI OutAuBuff(DWORD dwCard, AuPrcCallBack pAuCall)
    Public Declare Sub OutAuBuff Lib "xx.dll" (ByVal dwCard As Long, ByVal pAuCall As Long)'typedef void (CALLBACK *PrcCallBack)(DWORD dwCard, BYTE *pbuff)
    Public Sub PrcCallBack(ByVal dwCard As Long, pbuff As Byte)
        '做些什么
    End Sub'typedef void (CALLBACK *PrcMpegCallBack)(DWORD dwCard, BYTE *pbuff,DWORD dwSize,BOOL isKeyFrm)
    Public Sub PrcMpegCallBack(ByVal dwCard As Long, pbuff As Byte, ByVal dwSize As Long, ByVal isKeyFrm As Long)
        '做些什么
    End Sub'typedef void (CALLBACK *IoCallBack)(DWORD dwCard)
    Public Sub IoCallBack(ByVal dwCard As Long)
        '做些什么
    End Sub'typedef void (CALLBACK *AuPrcCallBack)(DWORD dwCard,BYTE *pbuf,DWORD siz)
    Public Sub AuPrcCallBack(ByVal dwCard As Long, pbuf As Byte, ByVal siz As Long)
        '做些什么
    End Sub调用的时候:
        'OutAuBuff(1, AuPrcCallBack);
        Call OutAuBuff(1, AddressOf AuPrcCallBack)
      

  3.   

    'typedef void (CALLBACK *PrcCallBack)(DWORD dwCard, BYTE *pbuff)
    Public Sub PrcCallBack(ByVal dwCard As Long, pbuff As Byte)
        '做些什么
    End Sub这些回调函数申明为过程。但是里面什么都不写吗?
      

  4.   

    但是!这个开发包中没有写呀!
    就是例如这样的说明!typedef void (CALLBACK *AuPrcCallBack)(DWORD dwCard,BYTE *pbuf,DWORD siz) 说明:捕获音频数据流所需的指针回调函数预定义.参数:dwCard:返回的卡号.Pbuf:  音频数据的指针siz:        音频缓冲区大小兄弟我实在愚钝,请帮帮忙,说仔细一点点!
    汗如雨下.........(急的)
      

  5.   

    这个月底要交货了!我苦~~~~~~~~~~~~~~~~~~~~~~!!!
    对了!绿豆兄,常看见vb中的&和$一般是怎样使用的??都是怎样的含义呀?
      

  6.   

    &:
    1.表示长整型(Long)
    Dim lLong& = Dim lLong As Long
    2.用来连接字符
    Debug.Print "hello" & " " & "world!"
    --> hello world!
    Debug.Print 1 & 2
    --> 12
    $:
    1.表示字符串型(String)
    Dim sStr$ = Dim sStr As String
    带$符号的函数,比如Mid$,Left$,Right$返回的值都是字符串型的,而不带$的版本Mid,Left,Right返回的值是变体(Variant)类型的其他的想不到了,最好是去查帮助文件,呵呵