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

Windows Discussion :

Fonction DeviceIoControl et ntddisk.h


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut Fonction DeviceIoControl et ntddisk.h
    Bonjour,

    Voilà c'est surement quelque chose de betes mais on ne sait jamais.
    Je précise que je développe avec Visual C++ 6

    Je dois faire le lien entre le pid/vid de mon périphérique et son physical drive. Pour celà je dois utiliser la fonction DeviceIoControl().

    Voici comment je l'utilise :

    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
    BOOL status; 
    UCHAR outBuf[512]; 
    ULONG returnedLength; 
    STORAGE_PROPERTY_QUERY query; 
    
    query.PropertyId = StorageDeviceProperty; 
    query.QueryType = PropertyStandardQuery; 
    
    status = DeviceIoControl(Mon_Handle,                 
                             IOCTL_STORAGE_QUERY_PROPERTY, 
                             &query, 
                             sizeof( STORAGE_PROPERTY_QUERY ), 
                             &outBuf,                   
                             512,                       
                             &returnedLength, 
                             NULL);
    Le soucis que j'ai c'est que les definitions STORAGE_PROPERTY_QUERY et IOCTL_STORAGE_QUERY_PROPERTY se trouvent dans ntdddisk.h

    Comment utiliser ce fichier ntdddisk ? Ou le mettre, comment récuperer tous les autres include qui sont demander ?

    J'ai télécharger ce fichier et l'ai mis avec les autres .h mais apres je ne m'en sors plus, il faudrait que j'en prenne un bon paquet.
    J'ai essayé d'installer le DDK parcequ'apparement c'est ici que se trouve toute les librairies nécessaires mais je ne sais pas m'en servir et je pense qu'il y a un autre moyen.

    Je ne sais pas si je suis clair ?!
    Si vous pouvez m'eclairer.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    En installant le DDK, vous devez avoir l'ensemble des fichiers d'en-tête nécessaires. Vous avez juste à configurer votre compilateur VC++6 pour aller les chercher au bon endroit. Pensez à vérifier les constantes de compilation pour ne faire l'include que du strict nécessaire.
    Dans ce cas de figure je pense que seule le .h ou est défini les deux constantes est nécessaire.

    P.S.: Pensez à toujours mettre à zero les champs non utilisés des structures que vous passez aux API WIN32.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2010, 20h23
  2. Fonction DeviceIoControl pour USB
    Par Philippe159 dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/07/2009, 23h14
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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