vb.net调用vc++写的dll的有关问题

vb.net调用vc++写的dll的问题
我是个vb.net新手,最近写一个医院管理系统,其中需要调用医保接口,我们这里的医保是东软的,只提供了动态库方式连接,并且提供了文档,但并未提供其他语言调用的DEMO,文档中是这样写的:
1.2 BUSINESS_HANDLE 业务函数
1.2.1 语法规则 Syntax:
对外提供接口:
SiInterface.dll
int WINAPI BUSINESS_HANDLE(const char* inputData,
                                 char* outputData)
输入参数:inputData  
输出参数:outputData char* 
返回值: 成功 0    失败 -1    
输入参数是以“^、$、|”分割的字符串
输出也是以“^”“@、^、$、|”分割的字符串
我在调用DLL的时候是这样写的:

Public Class DLLImports
    <DllImport("SiInterface.dll", EntryPoint:="INIT")> Public Shared Function INIT(ByVal OutputInfo As String) As Integer

    End Function
    <DllImport("SiInterface.dll", EntryPoint:="BUSINESS_HANDLE")> Public Shared Function BUSINESS_HANDLE(ByVal inputData As String, <Out> ByVal outputData As String) As Integer

    End Function
End Class

在程序中测试调用DLL中的函数是这样写的:

  Dim inputdata As String
            Dim l_outputdata As String
            Dim result As Integer
           
            inputdata = "9100^H129^0037^^2007010^^|^"
            l_outputdata = Space(100)
            result = BUSINESS_HANDLE(inputdata, l_outputdata)
            If result <> 0 Then
                System.Console.WriteLine("医保返回值:" & l_outputdata)
            End If

            System.Console.WriteLine("返回值:" & result)


现在出现的问题是这样的:在调用这个动态库中的函数的时候会有一个输出的日志,调用时可以正常运行,但是调用BUSINESS_HANDLE(const char* inputData,  char* outputData)函数中的输出参数的时候,不能正确显示出输出参数中的内容,我 不知道是我调用的方法不对还是怎样?请各位高手指点一下!谢谢!

------解决方案--------------------

请参考:
http://bbs.csdn.net/topics/250030068
------解决方案--------------------
同问:

楼主会了吗,有时间贴出来呗。我也在做这个,调用C++写的dll,我用的是vb.net2010