关于 检测到 PInvokeStackImbalance 求助
用VS2012写了个对采集卡的程序,但在调用视频录像时出现了报错:检测到 PInvokeStackImbalance
Message: 对 PInvoke 函数“VideoTest!VideoTest.Form1::DXStartCapture”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
问题出现在
DXStartCapture(DxMediaFunction.CardHandle(nCard), SaveVideoFile, False, TimeValue, SizeValue, Notify)的引用上
<DllImport("DXMediaCap.dll", SetlastError:=True)>
Public Shared Sub DXStartCapture(Device As IntPtr, szFileName As String, saveAudio As Boolean, ByRef timeSize As Integer, ByRef dataSize As Integer, saveNotify As Point)
End Sub
对于DXStartCapture的说明,在厂家给来的文档中是这样描述的:
unsigned __stdcall DXStartCapture(device_handle device,
TCHAR* szFileName,
BOOL saveAudio,
unsigned* timeSize = NULL,
unsigned* dataSize = NULL,
ISaveNotify* saveNotify = NULL);
说明:开始视频录像
参数: device - [in] 视频设备通道句柄
szFileName - [in] 指定录像文件文件名。NULL - 停止录像
saveAudio - [in] 是否将音频也录制到文件中
timeSize - [in] 限定录像文件的时间长度(单位:秒),NULL - 不限制
dataSize - [in] 限定录像文件的数据长度(单位:字节),NULL - 不限制
saveNotify - [in] 录像事件通知接口指针
返回值:0 - 成功;失败则返回错误代码
有什么办法解决没啊?救助各位高手啊 视频 VB.net 采集卡
补充:VB , 多媒体