Bonjour je cherche un peu d'aide d'un spécialiste VB pour traduire un code VB6 faisant appel a une DLL C++ vers du code Csharp

Voici un petit extrait du code VB

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Attribute VB_Name = "PCS7LW32"
 
Global Const S7_E_NOERR = 0               '/* alles OK */
Global Const S7_E_TIMEOUT = -1            '/* Zeitberlauf */
 
Type S7
  Com      As Integer
  bInit    As Byte
 
  DummyB1   As Byte
 
  DummyB2   As Integer
  Err      As Integer
  Internal(1 To 1600) As Byte
End Type
 
 
Declare Function S7Init& Lib "PCS7LW32.dll" (pS7 As S7, ByVal Com%, ByVal SPSMPIAdr%, ByVal LocalMPIAdr%, ByVal Baud%)
Voici ce que je pense faire en Csharp

1- Tout mettre dans une classe statique
2- Je suppose que la declaration : VB Attribute VB_Name = "PCS7LW32"
est l'equivallent d'un DllImport que je ferais en C#
Et que donc

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Declare Function S7Init& Lib "PCS7LW32.dll" (pS7 As S7, ByVal Com%, ByVal SPSMPIAdr%, ByVal LocalMPIAdr%, ByVal Baud%)
Se traduirait

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    [DllImport("PCS7LW32.dll")]
    static public unsafe extern int S7Init(S7, etc..);
Global je suppose que c'est Public
Et un Type serait dans ce cas une Struct ou une Class

Merci de votre aide

ByVal ce serait un passage simple de parametre ?