Bonjour,
J'utilise la fonction d'une libraire (DLL) qui me retourne un tableau de chaines de caractères définie comme ceci en C :
Dans le code C# elle est définie comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part const char** cameraList()
Et pour parcourir les éléments du tableau j'ai code ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [DllImport("lib.dll")] public static unsafe extern IntPtr* cameraList();
Tout marche bien mais y a t-il un moyen de faire un peu plus "safe" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 unsafe { IntPtr* p = cameraList(); while (*p != IntPtr.Zero) { Message(Marshal.PtrToStringAnsi(*p)); p++; } }
Partager