Accueil > Forum > > > > Informations partition (type, format ... ) ?
Informations partition (type, format ... ) ?
mercredi 24 décembre 2008 à 10:03:12 |
Informations partition (type, format ... ) ?

chtitpierre78
|
Bonjour, Je développe sous Windows avec VC++, et je souhaite obtenir quelques informations sur mes HDD via le C++. J'ai déjà réussi à obtenir diverses informations telles que la taille (totale / restante / utilisée) de mon HDD, ainsi que la lettre qui lui est assignée (p.ex. : C:\ ). Mais voilà, je souhaiterais en savoir plus, et je suis donc à la recherche d'une fonction me permettant d'obtenir le format de ma partition (NTFS, FAT, ... ) et surtout, le type de partition (Active ou non). Je sait que toutes ces informations sont disponibles dans le MBR, mais je n'ai aucune idée de la maniere à utiliser pour lire les informations situés dans ce MBR. Il est également possible d'obtenir ces infos via DISKPART, mais je prefererais eviter l'appel à des commande dos style : system("DISKPART"); Je me tourne vers vous donc, pour savoir comment, et surtout , avec quoi puis-je connaitre le type, et le format de mes differentes partitions ? Bonne Fete de Noel à tous. Cordialement P. KOCH
|
|
mercredi 24 décembre 2008 à 10:50:15 |
Re : Informations partition (type, format ... ) ?

chtitpierre78
|
Re
Je suis tombé sur un petit bout de code sur le net, qui permet d'obtenir le format de la partition. Il s'agit de l'API GetVolumeInformation(...). Il semblerait que cette fonction ne connaisse que les format NTFS et FAT, mais ça me suffit (pour l'instant).
Par contre, en ce qui concerne le type de partition, c'est à dire savoir si elle est active ou non, je continu de chercher. Si vous avez une idée, ou une piste, je prend ;)
Cordialement P. KOCH
|
|
mercredi 24 décembre 2008 à 13:04:26 |
Re : Informations partition (type, format ... ) ?
|
lundi 29 décembre 2008 à 09:27:04 |
Re : Informations partition (type, format ... ) ?

chtitpierre78
|
Bonjour,
Merci pour toutes ces informations RT15. En ce qui concerne le dernier lien, à propos de "PARTITION_INFORMATION_MBR Structure", je n'ai malheureusement pas réussi à l'utiliser. GetLastError() me renvoi sans cesse l'erreur 5 : accés refusé. Bref, j'ai trouvé un source interressant sur CPPFR., qui me permet de lire directement le MBR. http://www.cppfrance.com/codes_image/normal/28413.aspx Depuis ce MBR, j'ai absolument toutes les informations recherchées, dont le type de partition.
Le sujet est donc résolu. Avant de valider la reponse, je vais valider tout ca. Merci encore RT15.
Cotrdialement. P. KOCH
|
|
lundi 29 décembre 2008 à 10:17:56 |
Re : Informations partition (type, format ... ) ?

chtitpierre78
|
Ma méthode pourra sans doute aider quelqu'un, c'est pourquoi je poste ce que j'ai fait :
- CreateFile du disque physique (\\.\PhysicalDrive0) -> voir MSDN de CreateFile - ReadFile des 512 premiers octets du Handle retourné par le CreatFile du haut.
De cette manière, je peut lire les 512 premiers octets, qui représentent le MBR.
J'en profite également pour demander si il est possible de modifier le MBR lu. Effectivement, je souhaiterais modifier un octet en particulier (celui qui determine si la partition est active ou non ). Ma methode actuelle est la suivante :
- Lecture des 512 octets du MBR dans un buffer. - Modification de l'octet via un pointeur - Utilisation de WriteFile pour réécrire le MBR en prenant compte la modification apportée.
Le probléme, c'est que ma fonction me renvoie Erreur 5 (accés refusé ...). Je comprend le fait que Windows refuse que je touche au MBR, mais comment puis-je faire pour forcer la modification ? Des outils comme EditHexa sont capable de modifier le MBR, comment font-ils ?
Merci d'avance K. Pierre
|
|
lundi 29 décembre 2008 à 10:30:25 |
Re : Informations partition (type, format ... ) ?
|
lundi 29 décembre 2008 à 10:36:10 |
Re : Informations partition (type, format ... ) ?

chtitpierre78
|
Oh oui, excuse moi je n'ai pas précisé mon environnement :
- Win XP Edition Familiale - Visual C++
|
|
lundi 29 décembre 2008 à 10:57:51 |
Re : Informations partition (type, format ... ) ?

rt15
|
Réponse acceptée !
Heu bin tu m'excuseras (Ou pas), mais j'ai pas très envie d'écrire dans une MBR...  Tu peux montrer un peu de code ? Tu as demandé les droit d'écriture dans le CreateFile ? Tu as regardé du côté des privilèges ? Genre avec ce genre de code.
|
|
lundi 29 décembre 2008 à 11:14:28 |
Re : Informations partition (type, format ... ) ?
|
lundi 29 décembre 2008 à 11:23:54 |
Re : Informations partition (type, format ... ) ?

chtitpierre78
|
Encore une fois, merci RT15. Effectivement, première erreur, je n'avais pas mis les droits d'écritures dans le CreateFile  . Deuxième erreur, entre chaque opération (lecture / écriture / relecture) il est nescessaire de repasser par un CreateFile, pour bien repartir du debut. Voila, le probléme est reglé, merci 1000 fois RT15. Bonne fetes de fin d'année. Cordialement P. KOCH
|
|
Cette discussion est classée dans : type, format, informations, obtenir, partition
Répondre à ce message
Sujets en rapport avec ce message
conversion de format! [ par chris5874 ]
bonjour tout le monde!j'aimerai savoir comment convertir une ip (format a.b.c.d)de type char en 4 nombres de type int.merci d'avance pour votre aide!
adresse de fichier [ par cobra176 ]
je recherche le moyens d'accées a un fichier texte qui peut se trouver dansun dossiermon code est:char adresseprintf("choisir le type et le format du
récupérer le type de partition [ par deck_bsd ]
Bonjour à tous,Voila je cherche comment je pourrai récupérer le type de partition d'un volume (Principale, etendue ,...) . Suis-je sur la bonne voi av
Char* capricieux.... [ par Clonk ]
Bonjour,alors voilà, j'ai une classe "Champ" avec les attributs suivant :private: char * _nomchamp; char * _explication; char * _type; char * _format;
Information sur Disque RAID [ par albanovisch ]
Bonjour à tous je recherche comment obtenir des informations sur les Raid array...Je n'arrive pas à obtenir des informations lorsqu'une erreur est dét
Technologie et type de format renvoyé par une webcam [ par Evanok ]
Bonjour, Je dois réaliser un projet me permettant de mouvoir le curseur de ma souris grace a un mouvement détecté devant ma webcam. Je suis en train d
inverser les octets d'un type double [ par totoscill ]
Bonjour,Je souhaite tourner les octets de données de type double (probleme de big endian/ little endian).Pour des données de type long ou short pas de
Template et operator= (c++) [ par Crownless00 ]
J'ai la classe template suivante :template class Point3D{public : Point3D(Type posX, Type posY, Type posZ) {...} Point3D() {x = 0; y = 0; z = 0;
transfert de données > à 255 caractères sous Excel [ par chatful ]
Bonjours et bonne année à tous.Je suis actuellement en stage pendant 3 mois et je dois réaliser un outil de gestion sous Excel. Tout ce passe pour le
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|