调用外部dll和非托管代码,是否需要自己操作内存?该怎么解决

调用外部dll和非托管代码,是否需要自己操作内存?
在用 shell32.dll 调用 SHFILEOPERATION 的时候提示:尝试写入受保护的内存。

看到微软的网站上使用了一个 copymemory 函数来配合这个 SHFILEOPERATION , vb.net里面是不是也要自己分配内存呢?

该用哪个函数来做啊?

------解决方案--------------------
我操作过DLL,不过跟你的方向不一样,是不需要自己操作内存的,你这个我不知道怎么做,帮顶一下,省得杯具。
------解决方案--------------------
不需要,但如果是api函数,要自己转换api,c++的结构体.
------解决方案--------------------
你所访问的内存没有被定义或则被其他变量定义了
------解决方案--------------------
用GCHandle.Alloc来获取起始地址的指针
函数需要传入的是数据的起始地址的指针