传递字符串到dll有关问题

传递字符串到dll问题
VB code

    Private Declare Function testList Lib "T57Card.dll" Alias "_testList @8" (ByVal nIndex As Long, ByVal pszDevicePath As String) As Long


'调用:
        Dim strDevicePath As String
        strDevicePath = Space(260)

        Dim nRt As Long = 0
        
        nRt = testList (0, strDevicePath)



为什么 在dll里 检测到 strDevicePath==NULL ???, 该如何传递字符串才不为空??
C/C++ code


T57CARD_API int __stdcall testList( int nIndex,LPTSTR pszDevicePath)
{
        if( NULL==pszDevicePath ) return 3;//这里返回3!!
}



------解决方案--------------------
帅哥,你这到底是VB的工程,还是C++的工程啊??!!
如果你是在C++里设计的DLL,然后编译成DLL后,加入到VB的工程里面,再由VB的代码向那个参数传递数据;接着你就在C++那里看到DLL的那个参数时空对吗?
如果是这样的话,那你就犯了个最基本的错误,编译后的DLL再加入VB后,VB就会创建一个DLL的实例副本,就是相当于一个影像,而原来C++里的DLL是不受影响的,也不会受到你传递的参数,只有那个“影像”会收到参数。
如果不是,请再详细一点描述你的问题。