IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Import Natif en C# (cellcore.dll)


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut Import Natif en C# (cellcore.dll)
    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)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    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
           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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonNameSpace.ConnectionMgr.MakeConnection();

    Lorsque j'éxécute mon programme, l'appel à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    D'après la doc cette fonction prend en paramètre un CONNMGR_DESTINATION_INFO, et non CONNMGR_CONNECTIONINFO...

Discussions similaires

  1. Importer un contrôle depuis une DLL
    Par jamiria dans le forum EDI/Outils
    Réponses: 3
    Dernier message: 26/10/2010, 09h05
  2. Réponses: 6
    Dernier message: 18/11/2008, 10h45
  3. Réponses: 7
    Dernier message: 02/09/2008, 15h30
  4. Importation de variables depuis une DLL avec c++ Builder 6
    Par engrobel dans le forum C++Builder
    Réponses: 0
    Dernier message: 20/03/2008, 15h25
  5. Importation de classe d'une dll
    Par flash_math dans le forum Delphi .NET
    Réponses: 0
    Dernier message: 03/03/2008, 20h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo