尝试在C#中导入本机DLL时"无法找到入口点"异常

m-a*_*bdi 0 .net c# c++ dll

我想在我的C#.net应用程序中使用本机Dll,如下所示:

public const int WFSDDESCRIPTION_LEN = 256;
public const int WFSDSYSSTATUS_LEN = 256;

[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Auto)]
public struct LPWFSVERSION
{
   [MarshalAs(UnmanagedType.U4, SizeConst = 4)]
   int WVersion;
   [MarshalAs(UnmanagedType.U4, SizeConst = 4)]
   int WLowVersion;
   [MarshalAs(UnmanagedType.U4, SizeConst = 4)]
   uint WHighVerion;
   [MarshalAs(UnmanagedType.ByValTStr, SizeConst = WFSDDESCRIPTION_LEN + 1)]
   public string szDescription;
   [MarshalAs(UnmanagedType.ByValTStr, SizeConst = WFSDSYSSTATUS_LEN + 1)]
   public string szSystemStatus;
 }        
[DllImport("MSXFS.DLL", EntryPoint = "WFSStartUP", CharSet = CharSet.Auto, ExactSpelling = false)]
public static extern int WFSStartUP([MarshalAs(UnmanagedType.U4)]int dwVersionsRequired, ref LPWFSVERSION ver);
Run Code Online (Sandbox Code Playgroud)

这里是我使用导入函数的代码:

        LPWFSVERSION Ver = new LPWFSVERSION();
        WFSStartUP(0x31, ref Ver);      
Run Code Online (Sandbox Code Playgroud)

问题是它抛出了一个异常,上面写着:"无法找到入口点"

我用dumpbin转储了msxfs.dll,结果如下:

Section contains the following exports for MSXFS.d
00000000 characteristics
46938FBD time date stamp Tue Jul 10 17:25:09 200
    0.00 version
       1 ordinal base
      37 number of functions
      37 number of names

ordinal hint RVA      name

      1    0 00009310 WFMAllocateBuffer
      2    1 000093D0 WFMAllocateMore
       .
       .
     32   1F 00005BD0 WFSOpen
     33   20 00007C80 WFSRegister
     34   21 00008CD0 WFSSetBlockingHook
     35   22 00004FA0 WFSStartUp
Run Code Online (Sandbox Code Playgroud)

似乎dll方面没有问题,因为dumpbin也可以找到入口点.我不知道是什么问题?:(

Han*_*ant 5

 35   22 00004FA0 WFSStartUp
Run Code Online (Sandbox Code Playgroud)

那是Up,而不是UP.