关于VB调用C++dll的回调函数的有关问题

关于VB调用C++dll的回调函数的问题
VB中调用C++的dll,有回调函数
定义如下
typedef void(__stdcall *ITest)(wchar_t *p, wchar_t *q);
该回调函数给程序传奇了2个whcar_t指针;
在vb中要如何定义该回调函数的原型,才能正确接收回调出来的数据?
我现在在VB中定义的原型如下:
Public Delegate Sub DelegateTestCB(ByVal p As String, ByVal q As String)
回调出来的数据中只有一个字节。。
有没有路过知道的朋友,,该原型要如何定义,才能接收到完整的数据。
------解决思路----------------------
Dim s As String
        s = System.Runtime.InteropServices.Marshal.PtrToStringUni(p1)
试试