Pb Bizarre !!

Le
Sivaller
Voici une source qui permet de lire le secteur du disque physique n°0
qui se situe au de la de 128 Go.
Je dispose d'un DD de 160 Go Hitashi PATA

#include "stdafx.h"
#include <windows.h>

int main(int argc, char* argv[])
{
char buf[512];
printf("Hello World!");
//\.PHYSICALDRIVE0
//Ne pas specifier GENERIC_WRITE
HANDLE
h=CreateFile("\\.\PHYSICALDRIVE0",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_FLAG_NO_BUFFERING,0);
//parametre ne doit être changer !!!
DWORD lpn;
long lpi2; //32*4 Go = 128 Go
//long lpi 97151;
SetFilePointer(h,0,&lpi,FILE_BEGIN);
lpn=0;
ReadFile(h,buf,512,&lpn,0);
CloseHandle(h);

FILE *f;
f=fopen("teste","wb");
fwrite(buf,512,1,f); //Sauvegarde du resultat
fclose(f);

return 0;
}


Resultat : Ca lit le secteur de partition , le secteur n°0

Je n'ai pas installer la pack 1 ni la pack 2.
Windows XP Pro,
processeur Intel Pentium 4 2Ghz datant de Juillet 2002.

Voilà !
Même pas la peine de limitation dans le service des disques logiques à
128 Go , il m'affiche 153 Go.

Bug ne provenant pas de Microsoft , sure et certain !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
julien
Le #9737991
Sivaller wrote:

Resultat : Ca lit le secteur de partition , le secteur n°0



Et alors , il est où le problème, puisque tu lis le début ?
Sivaller
Le #9737981
julien a écrit :
Sivaller wrote:

Resultat : Ca lit le secteur de partition , le secteur n°0



Et alors , il est où le problème, puisque tu lis le début ?


mais eh ben non je veux lire au secteur démarrant à 128 Go et non pas à 0

J'ai une machine DELL 4500 , pros 2Ghz, Juin 2002.
julien
Le #9737971
Sivaller wrote:

mais eh ben non je veux lire au secteur démarrant à 128 Go et non pas à 0



Ben pourquoi tu mets 0 alors ?!
Christian ASTOR
Le #9737961
Sivaller wrote:

Voici une source qui permet de lire le secteur du disque physique n°0
qui se situe au de la de 128 Go.



SetFilePointer(h,0,&lpi,FILE_BEGIN);
lpn=0;
ReadFile(h,buf,512,&lpn,0);




Si tu lis le MBR, forcément...
Arnold McDonald \(AMcD\)
Le #9737951
Tu devrais lire la doc :

If lpDistanceToMoveHigh is not NULL, the function returns the low order
DWORD of the new file pointer, and puts the high order DWORD of the new file
pointer into the LONG pointed to by that parameter.

Bref, tu lis pas au bon endroit.

--
Arnold McDonald (AMcD) - Help #4(66)/2007

http://arnold.mcdonald.free.fr/
Thierry
Le #9737941
"Sivaller" 468fcb2d$0$25912$
Voici une source qui permet de lire le secteur du disque physique n°0
qui se situe au de la de 128 Go.
Je dispose d'un DD de 160 Go Hitashi PATA



- Teste les codes de retour
- Utilise plutot SetFilePointerEx
Publicité
Poster une réponse
Anonyme