Bonjour,
je débute sur le dev en .NET avec l'import de méthodes win32.
Je fais un mini dev d'essai sur smartphone win Mobile 6.1.
Je veux importer une fonction de cellcore.dll (dont on trouve la doc msdn sur cette page)
1 2
| [DllImport("Cellcore.dll")]
static extern int ConnMgrEnumDestinations(uint Index, ref CONNMGR_CONNECTIONINFO connectionInfo); |
Bien sûr, j'ai auparavant fait, dans ma classe, une définition de CONNMGR_CONNECTIONINFO :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class CONNMGR_CONNECTIONINFO
{
Int32 cbSize; // DWORD
public ConnMgrParam dwParams = 0; // DWORD
public ConnMgrProxy dwFlags = 0; // DWORD
public ConnMgrPriority dwPriority = 0; // DWORD
public Int32 bExclusive = 0; // BOOL
public Int32 bDisabled = 0; // BOOL
public Guid guidDestNet = Guid.Empty; // GUID
public IntPtr hWnd = IntPtr.Zero; // HWND
public UInt32 uMsg = 0; // UINT
public Int32 lParam = 0; // LPARAM
public UInt32 ulMaxCost = 0; // ULONG
public UInt32 ulMinRcvBw = 0; // ULONG
public UInt32 ulMaxConnLatency = 0; // ULONG
} ; |
Enfin, j'appelle cette fonction dans une méthode static de la classe :
1 2 3 4 5 6 7 8
| unsafe public static void MakeConnection()
{
CONNMGR_CONNECTIONINFO toto = new CONNMGR_CONNECTIONINFO();
ConnMgrEnumDestinations(0, ref toto);
} |
Reste, dans mon appli, à faire un appel à MakeConnection(), avec :
MonNameSpace.ConnectionMgr.MakeConnection();
Lorsque j'éxécute mon programme, l'appel à
ConnMgrEnumDestinations()
provoque une erreur :
Une exception native s'est produite dans MonProjet.exe
sur mon smartphone
Un clic sur "détails" fait apparaître :
Code d'exception : 0xc0000005
Adresse d'exception : 0x0001ba10
Lecture : 0x0001ba10
Je n'ai aucune info de plus... et je ne comprends pas comment je peux voir quelle est la raison de l'exception.
Quelqu'un peut-il m'éclairer sur cela? :
- y'a-t-il un moyen de pousser un peu le debug afin de voir la cause de l'exception?
- ou quelque chose cloche-t-il tout bêtement dans mon code dans le dllimport (sur les correspondances de types peut-être?)
- ou est-ce un problème beaucoup plus précis lié à ce que je cherche à faire d'un point de vue fonctionnel? (lié à la plateforme)
Merci d'avance pour votre aide!
Nicolo011
Partager