bonjour,
voila j'ai une dll qui a une fonction avec la signature suivante
ou ppCAPIMessage est un emplacement ou je dois trouver un array de char (allouer par la dll)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DWORD CAPI_GET_MESSAGE ( DWORD ApplID,PVOID * ppCAPIMessage);
j'ai aussi plusieurs structures, de longeur differentes en csharp.
dans cette array of byte, le 2 et 3 ieme me dit quelle est la structure qui est représenter par cette array of byte.
Ce que j'aimerais savoir c'est
1) en quoi je dois changer pvoid * pour le csharp (j'ai essayer ref intptr, mais ca marche po).
secondement comment changer ce ptr en array of byte et pis comment changer ce array of byte en structure.
merci
voici (en code )ce que j'essaie de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 IntPtr ptr = IntPtr.Zero; UInt32 code = CapiDLLImport.CAPI_GET_MESSAGE(applID,ref ptr); st_connect_conf cr = MessageFactory.Instance().ConnectConf(); Marshal.PtrToStructure(ptr,cr); ..... ..... [DllImport(DLLPATH, CharSet = CharSet.Ansi, ExactSpelling = true)] public static extern UInt32 CAPI_GET_MESSAGE(UInt32 ApplID, ref IntPtr ptr);
Partager