Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1301 connectés 

  FORUM HardWare.fr
  Programmation
  API Win32

  Fonction pour dvd ou cd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction pour dvd ou cd

n°1819549
Yoshitu
Posté le 30-11-2008 à 19:28:47  profilanswer
 

Salut
 
Est-ce que vous connaitriez une fonction de la WinAPI pour lire précisemment l'octet d'un DVD ou d'un CD ?
Si ça n'existe pas, connaissez vous une bibli qui pourrait faire ce que je veux ?
 
mercii !

mood
Publicité
Posté le 30-11-2008 à 19:28:47  profilanswer
 

n°1819729
olivthill
Posté le 01-12-2008 à 09:55:30  profilanswer
 

Les fonctions C standard de lecture des fichiers (fopen, fgetc, fread, fclose) fonctionnent à la fois pour les disques durs, et pour les périphériques qui y sont assimilées tels que les DVD, les CD, les clés USB.

n°1820268
Yoshitu
Posté le 01-12-2008 à 21:20:54  profilanswer
 

C'est à dire que je pourrais lire un endroit précis du DVD ?
 
Je ne cherche pas à lire un endroit précis d'un fichier qui se trouver sur un DVD/CD mais bien un emplacement spécifique du DVD/CD en indiquant son adresse par exemple.
Un peu comme si je donnais l'adresse d'une donnée en RAM et que je puisse récupérer la valeur de cette donnée mais avec un DVD/CD.

n°1820827
xilebo
noone
Posté le 02-12-2008 à 17:33:02  profilanswer
 

essaie avec ce code source  :
 
http://www.stud.uni-hannover.de/~k [...] .0-src.zip
 
 
en utilisant la fonction CreateFile non pas sur un fichier, mais sur un périphérique (dans l'exemple "\\\\.\\PhysicalDeviceX" ), tu peux accéder aux données RAW de ton périphérique. Par contre, ce n'est pas PhysicalDevice pour les lecteurs CD/DVD.

n°1822940
Yoshitu
Posté le 06-12-2008 à 18:21:07  profilanswer
 

Voici mon code :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <winioctl.h>
  5. #define CD "\\\\.\\e:"
  6. int main()
  7. {
  8.     HANDLE cdrom;
  9.     LPVOID *t;
  10.     BOOL resultat;
  11.     DWORD truc, truc2 = 0;
  12.     DISK_GEOMETRY buff;
  13.     unsigned char i;
  14.     char buffer[256];
  15.     printf("%p",buffer);
  16.     cdrom = CreateFile(CD, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
  17.     if(cdrom == INVALID_HANDLE_VALUE) // cannot open the drive
  18.     {
  19.         MessageBox(NULL, "Le lecteur que vous avez indiqué est impossible à ouvrir pour une raison absolument inconnue :p\nVous avez sans doute mal tapé la lettre du lecteur.", "Erreur d'ouverture", MB_ICONEXCLAMATION);
  20.         return (FALSE);
  21.     }
  22.     resultat = DeviceIoControl(cdrom, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, &buff, sizeof(buff), &truc, NULL);
  23.     if(resultat)
  24.     {
  25.         printf("%s :\n", CD);
  26.         printf("- Cylindres = %ld\n", buff.Cylinders);
  27.         printf("- Pistes/Cylindres = %ld\n", (ULONG) buff.TracksPerCylinder);
  28.         printf("- Secteurs/Pistes = %ld\n", (ULONG) buff.SectorsPerTrack);
  29.         printf("- Octets/Secteurs = %ld\n", (ULONG) buff.BytesPerSector);
  30.         printf("\n" );
  31.     }
  32.     else
  33.     {
  34.         printf("%ld",GetLastError());
  35.         MessageBox(NULL, "La géométrie du disque (têtes, cylindres, etc..) est impossible à obtenir.", "Erreur de lecture", MB_ICONEXCLAMATION);
  36.         return (FALSE);
  37.     }
  38.     resultat = ReadFile(cdrom, &buffer, 253, &truc2, NULL);
  39.     if(resultat)
  40.     {
  41.         printf("%ld bytes lus", truc2);
  42.     }
  43.     else
  44.     {
  45.         printf("Erreur %ld", GetLastError());
  46.     }
  47.     CloseHandle(cdrom);
  48.     return 0;
  49. }


 
Lorsque j'arrive a ReadFile j'ai une erreur obtenue par getlasterror (erreur 87 : paramètre incorrect)
 
Que faire ???


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  API Win32

  Fonction pour dvd ou cd

 

Sujets relatifs
[Dephi] Question sur les touches de fonction.[C] J'essaye de me faire une petite bibliothèques de fonction avec SDL
Problème avec la fonction Vlookup [VBA Excel]exécuter fonction tant que click gauche souris enfoncé
fonction de hashagecallback lors de l'utilisation de la fonction "_"
Utilisation de la fonction "include()"[résolu] aide sur une fonction
[SQL] Faire ressortir une liste de donnée en fonction d'un champDébutant, souhaite réaliser fonction simple :)
Plus de sujets relatifs à : Fonction pour dvd ou cd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR