fc模拟器下载免安装:vb调用 dll 奇怪问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 08:06:00
我的这个调用为什么不成功? 提示尝试写入受保护的内存.请问高手该怎么解决?

Imports System.Runtime.InteropServices

Module Module1

'车牌识别模块库函数
Public Declare Function CISDllInitFun Lib "CubicPlate.dll" Alias "CISDllInit" () As Boolean
Public Declare Sub CISDllReleaseFun Lib "CubicPlate.dll" Alias "CISDllRelease" ()
'Public Declare Function CISProcessFrameFun Lib "The Dynamic Linking Library.dll" Alias "CISProcessFrame" (ByVal a() As Char, ByVal b As Int32, ByVal c As Int32, ByVal d As Int32, ByVal e As Int32) As String
Public Declare Function CISProcessFrameFun Lib "CubicPlate.dll" Alias "CISProcessFrame" (ByVal ImagePtr As IntPtr, ByVal b As Int32, ByVal c As Int32, ByVal d As Int32, ByVal e As Int32, ByVal PlatePtr As IntPtr) As Boolean

' 图像读取模块库函数
Public Declare Ansi Function CISLoadImageFun Lib "CISImage.dll" Alias "CISLoadImage" (ByVal LPSTR As String) As Boolean
Public Declare Sub CISGetImageFun Lib "CISImage.dll" Alias "CISGetImage" (ByRef p1 As String, ByRef p2 As Int32, ByRef p3 As Int32, ByRef p4 As Int32, ByRef p5 As Int32)
Public Declare Sub CISImageDllReleaseFun Lib "CISImage.dll" Alias "CISGetImage" ()

'定时器API
Public Declare Function QueryPerformanceFrequency Lib "kernel32" Alias "QueryPerformanceFrequency" (ByRef lpFrequency As Double) As Long
Public Declare Function QueryPerformanceCounter Lib "kernel32" Alias "QueryPerformanceCounter" (ByRef lpPerformanceCount As Double) As Long

'委托声明
'Public Delegate Function CISLoadImageA(ByRef LPSTR As String) As Long
'Public Delegate Sub CISGetImageA(ByRef p1 As IntPtr, ByRef p2 As Int32, ByRef p3 As Int32, ByRef p4 As Int32, ByRef p5 As Int32)
'Public Delegate Sub CISImageDllReleaseA()
'Public Delegate Function CISDllInitA() As Boolean
'Public Delegate Sub CISDllReleaseA()
'Public Delegate Function CISProcessFrameA(ByVal a As IntPtr, ByVal b As Integer, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByRef f As Byte()) As Boolean

'Public Delegate Function QPFA(ByRef lpFrequency As Double) As Long
'Public Delegate Function QPCA(ByRef lpPerformanceCount As Double) As Long

你是在 NT 2000 XP 下测试的吧
NT内核的 NT 2000 XP是不允许程序直接访问内存及硬盘的,需要通过间接方式请求WINDOWS,然后让WINDOWS来实现.
至于怎么实现,到目前为此,我也还没有弄清楚.