带参考参数的c#和pvcs

时间:2013-08-02 09:47:06

标签: c# pvcs

我必须从c#调用VM32VBWRAP.dll。它是一个从代码管理pvcs的库。我可以调用所有方法 哪个没有任何ref参数。但我不能用ref参数调用方法。

我总是收到这个错误:

  

“尝试读取或写入受保护的内存。这通常表示其他内存已损坏。”   在System.StubHelpers.MngdNativeArrayMarshaler.ConvertContentsToManaged(IntPtr pMarshalState,Object& pManagedHome,IntPtr pNativeHome)   在LibraryPanello.SourceControl.Pvcs.PvcsGetLockInfoVB(Int32 archiveType,String pathAndFileNameServer,String pathAndFileNameLocal,String usernameInPVCS,Byte []& version,Byte []& versionNew,Byte []& usernameOutPVCS,Int16 info,Byte flag)

我的声明是:

[DllImport("VM32VBWRAP.dll", CharSet = CharSet.Ansi, SetLastError = true, 
           EntryPoint = "_wPvcsGetLockInfoVB@36")] 
static extern int PvcsGetLockInfoVB( 
    int archiveType, string pathAndFileNameServer, 
    string pathAndFileNameLocal, string usernameInPVCS,     
    [MarshalAs(UnmanagedType.LPArray, SizeConst = 64)] ref byte[] version, 
    [MarshalAs(UnmanagedType.LPArray, SizeConst = 64)] ref byte[] versionNew,  
    [MarshalAs(UnmanagedType.LPArray, SizeConst = 64)] ref byte[] usernameOutPVCS, 
   short info, byte flag );

任何想法????

0 个答案:

没有答案