Bonjour,
Je débute en C# et j'aimerais utiliser une dll C++ dans du code C#.
Plus excatement la dll de "power management" (PowrProf.dll). Je sais qu'il faut utiliser Dllimport mais le problème c'est que la fonction que je veux intégrer utilise des types non défini en C#.
DWORD WINAPI PowerGetActiveScheme(HKEY UserRootPowerKey, GUID** ActivePolicyGuid);
J'ai essayé ça :
Code :
- [DllImport("PowrProf.dll" )]
- unsafe public static extern uint PowerGetActiveScheme(long UserRootPowerKey, void** ActivePolicyGuid);[cpp]
- mais je n'arrive pas à créer le ActivePolicyGuid. J'ai essayé un peu tout et n'importe quoi comme :
- [cpp]
- unsafe
- {
- char[] g = new char[100];
- uint toto;
- fixed (char* p = g) toto = PowerGetActiveScheme(0, (void **) &p);
- }
|
Et ce code ne compile pas : Impossible de prendre l'adresse d'une variable locale en lecture seule
Comment faire pour créer et passer un double pointeur et importer des fonctions c++ avec des types inconnus en c#?
Merci