在完全信任,OOB应用程序中,我需要能够通过PInvoke打开文件(例如PDF或tiff)。
PInvoke.net网站将此作为签名:
[DllImport("kernel32.dll", BestFitMapping = false, ThrowOnUnmappableChar = true)]
static extern int OpenFile([System.Runtime.InteropServices.MarshalAs(UnmanagedType.LPStr)]string lpFileName, out OFSTRUCT lpReOpenBuff, OpenFileStyle uStyle);
但是,当我将其放入测试Silverlight应用程序时,VS将OFStruct标记为“无法解析符号”
OpenFileStyle也会以同样的方式被标记。
如何修改签名以便使用?
答案 0 :(得分:0)
好的,我现在明白了。 OFStruct是"用户定义的类型"需要在正在使用PInvoke调用的项目中定义。
在PInvoke.net站点上,它为结构提供了C#代码。所以我复制并粘贴到应用程序中。然后Signature找到了它并且我能够使用PInvoke。
同样适用于OpenFileStyle枚举。
格雷格