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# Discussion :

ajouter winusb.dll comme référence en C# ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Par défaut ajouter winusb.dll comme référence en C# ?
    slt à tous,

    j'ai reuissit à trouver la DLL winusb.DLL sur le net mais lors de l'ajout comme reférence en C# un message s'affiche " la dll n'est pas accesible" est-ce que qq'un peut m'aider??

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Je ne connais pas cette DLL mais es tu sur qu'il s'agit d'une assembly .Net ? j'en doute fort.

    Dans le cas contraire, tu ne peux pas la référencer dans ton projet et tu dois importer les fonctions qu'elle expose en les déclarant sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [DllImport("WinUsb.dll", CallingConvention = CallingConvention.StdCall, EntryPoint = "MyFunction")]
    static unsafe extern IntPtr MyFunction([MarshalAs(UnmanagedType ....)] myType myParam .... etc );
    (pour le détail voir la doc de l'API de ta DLL).

  3. #3
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Par défaut
    merci pour ta réponce mais c est une dll installé au OS vista et etles autre OS récent,
    C# l'utilise pour intgerer la technologie des USB ( pour communiquer avec les ports USB du PC ) voila l'ensemble de ces fonction

    mais je vais essayer ta réponce pour voir si sa marche ..

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Je viens de regarder sur le lien que tu as fourni et cela confirme donc entièrement ce que j'écrivais supra.

    Cette DLL exporte des fonctions, en convention d'appel standard (__stdcall) , et pas des objets .Net.

    Donc tu dois passer par des appels P/Invoke en déclarant les fonctions selon la méthode décrite au dessus.

    C'est assez logique car elle doit pouvoir être exploitée par des client en C, par exemple, ce qui serait impossible pour une assembly .net qui n'est exploitable que par un client .Net

  5. #5
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Par défaut
    merci infiniment pour ta réponse,
    Mais juste une dernière chose tu peux déclaré une fonction de ce lien(que j'ai mis)
    comme titre d'exemple ? en fait je fait un stage et je suis amateur en ce langage donc si tu m'aide encore car j'ai utilisé ta méthode de déclaration et ça se voit j'ai pas réussit

    merci encore ..

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Par exemple pour WinUsb_FlushPipe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [DllImport("WinUSB.dll", CallingConvention = CallingConvention.StdCall, EntryPoint = "WinUsb_FlushPipe ")]
    static unsafe extern bool WinUsb_FlushPipe ([MarshalAs(UnmanagedType.I4)]int handle, [MarshalAs(UnmanagedType.U1)] byte pipeID);

    Sans garantie, n'ayant pas la DLL sous la main.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter un DLL comme parametre dans une method
    Par charaf dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/09/2007, 09h36
  2. ajouter une dll à un projet devcpp....
    Par youp_db dans le forum Windows
    Réponses: 1
    Dernier message: 28/09/2005, 21h33
  3. ajouter une dll à un projet devcpp....
    Par youp_db dans le forum Dev-C++
    Réponses: 1
    Dernier message: 28/09/2005, 20h47
  4. dll et référence
    Par moldavi dans le forum C++
    Réponses: 4
    Dernier message: 17/05/2005, 15h08
  5. [Jonas]Ajout de dll externes
    Par romainp22 dans le forum JOnAS
    Réponses: 8
    Dernier message: 14/01/2005, 11h41

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