Исключение «Невозможно найти точку входа» при попытке импортировать собственную DLL в C # - PullRequest
0 голосов
/ 07 июля 2011

Я хотел использовать собственный Dll в своем приложении на C # .net так:

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);

и вот код, в котором я использовал импортированную функцию:

        LPWFSVERSION Ver = new LPWFSVERSION();
        WFSStartUP(0x31, ref Ver);      

проблема в том, что он выдает исключение, которое говорит: «Невозможно найти точку входа»

У меня есть дамп msxfs.dll с помощью dumpbin, и результат был следующим:Похоже, что в dll-стороне не было никаких проблем, поскольку мусорная корзина также могла найти точку входа.Я не знаю, в чем проблема?(

1 Ответ

5 голосов
/ 07 июля 2011
 35   22 00004FA0 WFSStartUp

Это вверх, а не вверх.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...