今天在调用一个Win32的Dll是遇到的一个问题,Dll里面的一个解密方法需要传一个指针。
之前没有遇到过,所以今天记录下来
byte[] des = new byte[blocksize];
decryptfile.Read(des, 0, 0);
GCHandle hObject1 = GCHandle.Alloc(des, GCHandleType.Pinned);
//写入文件的内存地址
IntPtr output = hObject1.AddrOfPinnedObject();
if (hObject1.IsAllocated)
hObject1.Free();
上面的output就是记录des的内存地址(指针)