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 :

[.Net 2.0] Ejecter une clé usb


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 102
    Par défaut [.Net 2.0] Ejecter une clé usb
    Salut à tous,

    J'ai trouvé un seul post concernant l'ejection de clé usb sur le forum mais sans réponse.

    J'aimerais savoir comment on utilise CM_Request_Device_Eject de l'API win32 en C# pour pouvoir ejecter une clé usb: http://www.pinvoke.net/default.aspx/...t_device_eject

    Le souci que dans le tuto on part du principe que :
    // Assuming have IntPtr devinst already

    cette info on la récupère comment en C# ?

    Pour utiliser le DllImport :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    using Microsoft.Win32;
    using System.Runtime.InteropServices;
    .
    .
    .
    [DllImport("setupapi.dll", CharSet = CharSet.Auto)]
            static extern int CM_Request_Device_Eject(IntPtr devinst, out PNP_VETO_TYPE pVetoType, System.Text.StringBuilder pszVetoName, int ulNameLength, int ulFlags);
    .
    .
    .
    Pour la suite je suis un peu dans l'expectative ;p
    Quelqu'un aurait déjà essayé de faire cette fonctionnalité et aurait des conseils ?

    Merci d'avance

  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
    A priori, c'est un Device Handler.

    Donc tu dois trouver une autre fonction du style "OpenDevice" (ou un nom comme cela) que tu dois appeler avant et qui retourne le device handler.

    EDIT : apparement c'est la fonction CM_Locate_DevNode qui est capable de retourner le hDevInst.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 102
    Par défaut
    Ok merci pour l'info, le prototype est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [DllImport("setupapi.dll", CharSet = CharSet.Auto)]
            static extern int CM_Locate_DevNodeA(ref int pdnDevInst, string pDeviceID, int ulFlags);

    le bout de code compile, mais il me reste à savoir le deviceID correspondant à ma clé ...

Discussions similaires

  1. Ejecter une clef usb
    Par hugoclo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 14/02/2010, 18h32
  2. Ejecter une clé usb
    Par Hemophilius dans le forum Visual C++
    Réponses: 1
    Dernier message: 24/08/2009, 00h43
  3. Ejecter une clé USB de façon sûre
    Par ero-sennin dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 01/04/2008, 10h57
  4. Ejecter une clef usb
    Par Baxter67 dans le forum C++Builder
    Réponses: 8
    Dernier message: 27/03/2008, 11h29
  5. Ejecter une clé USB et détecter sa deconnexion
    Par Cederic dans le forum VBScript
    Réponses: 6
    Dernier message: 22/02/2008, 17h04

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