Cómo llamar a una DLL escrita en VC en C# y cómo convertirla a código C#
{
[StructLayout(LayoutKind.Sequential)]
struct TFileParam
{
byte Efecto;
byte Nivel;
byte Velocidad;
byte Retardo;
byte Fuente;
byte ShowTitle;
byte TitleColor;
byte WordColor;
} ;
[DllImport("xxx.dll" , EntryPoint="SS_Open_Com", CallingConvention=CallingConvention.StdCall)]
externo estático int SS_Open_Com (int addr, int com, int baudios, int retraso);
[DllImport(" xxx.dll", EntryPoint = "SS_Open_Tcp", CallingConvention = CallingConvention.StdCall CallingConvention = CallingConvention.StdCall)]
extern static int SS_Open_Tcp(string sIP, int port, int delay);
[DllImport("xxx.dll", EntryPoint = "SS_ Open_Udp", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
extern static int SS_Open_Udp(string sIP, int port, int retraso);
[DllImport("xxx.dll", EntryPoint = "SS_Get_Window_List", CallingConvention = CallingConvention.StdCall)]
byte externo estático no seguro* SS_Get_Window_List(); p>
[DllImport("xxx.dll", EntryPoint = "SS_Send_File", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
extern static int SS_Send_File(int W_index, ref TFileParam param, string ListFile, int IsSave);
[ DllImport("xxx.dll", EntryPoint = "SS_Send_Buffer", CallingConvention = CallingConvention.StdCall)]
extern static int SS_Send_Buffer( int W_index, referencia TFilePa
ram param, byte[] Buffer, int IsSave);
}
No puedo probar los detalles específicos. Sólo puedo escribirlo aquí.
Si es necesario, agregue su propio público
Recuerde usar System.Runtime.InteropServices;
En "Generar" las propiedades de tiempo de compilación del proyecto , Existe "permitir código no seguro", de lo contrario no se pueden utilizar punteros.