for (ULONG i = 1; i < UsaCount;i++)
((USHORT*)lpFileRecord)[(256 * (i-1)) + 255] = lpUsa[i];
}
++
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201823 19 oct. 2009 à 00:25
Salut ShareVB,
Je suis en train d'appliquer l'exemple donné dans le livre de Gary pour un tout autre usage (C#), je décortique en parallèle les sources de ta dll NTFS.
Dans mes tests (projet c++) je fais appel à ta méthode MapMFT et je rencontre un soucis à l'intérieure de celle-ci.
Le debuggeur de VS2008 hurle à la corruption lors de la réservation d'un espace sur le tas pour lpBuff.
Voici le message: Windows has triggered a breakpoint in test.exe. This may be due to a corruption of the heap, which indicates a bug in test.exe or any of the DLLs it has loaded.
Je comprend pas ce qui se passe !
Peux-tu m'aider stp ?
Willi
unruledboy
Messages postés9Date d'inscriptiondimanche 10 juillet 2005StatutMembreDernière intervention26 juin 2008 26 juin 2008 à 15:17
Hi,
two more problems found:
1.it will crash in some computers, exactly the same operating system(windows 2003), but some works, strange.
2.it uses too much memory, for a 40g drive(100,000 files) will consume 800M+ memory after running the MapMFT, any idea how use less memory? I believe that it could only be done through modifying the NTFS.dll file.
unruledboy
Messages postés9Date d'inscriptiondimanche 10 juillet 2005StatutMembreDernière intervention26 juin 2008 25 juin 2008 à 05:41
hi, how to tell the condiction of a deleted file, such as: good(nothing changed, could be 100% recovered), poor(file record has been overwritten, could not be recovered)?
tooffy123
Messages postés55Date d'inscriptionvendredi 16 mai 2003StatutMembreDernière intervention16 mars 2009 25 mars 2008 à 07:50
De rien, c'est mon métier !
tooffy123
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 25 mars 2008 à 00:48
ahaha toofy MERCI 2 mois de galère sur le pc d'une copine pour comprendre pourquoi la moitié de ses dl étaient corrompus. résolution grâce à toi
cs_epson1
Messages postés89Date d'inscriptiondimanche 12 novembre 2000StatutMembreDernière intervention29 mars 2013 27 sept. 2007 à 15:38
Merci beaucoup Toofy123 , je vais faire ça .
@+
tooffy123
Messages postés55Date d'inscriptionvendredi 16 mai 2003StatutMembreDernière intervention16 mars 2009 25 sept. 2007 à 19:18
Chez moi le zip fonctionne nikel, désinstalle tout ce que tu as de nvidia, puis réinstalle en faisant bien attention de ne pas installer de pare-feu ou quoi que ce soit en rapport avec le réseau : pour cela choisis l'installation personnalisée à chaque fois.
tooffy123
cs_epson1
Messages postés89Date d'inscriptiondimanche 12 novembre 2000StatutMembreDernière intervention29 mars 2013 24 sept. 2007 à 22:21
Salut tooffy123 ,
Effectivement maintenant que tu me le dis , je viens de mettre a jour ma Geforce FX 5200 et ça déconne depuis .Je savais pas que ça pouvait mettre une telle M.... . Cela dit , maintenant je ne vois plus de vidéo sur ma télé . Juste Média player avec un cadre noir au milieu .(Pareil avec VLC).Et comment on fait pour désinstaller tout ce bazar ?
Mais y'a quand même un prob avec les zip :
Depuis longtemps le lien inclus au zip n'est pas valide et depuis la nouvelle mouture de VbFrance et sur une autre bécanne:erreur de CRC sur le lien .
Mais le reste du zip est bon .
Voila le résumé de mes miséres .Sob
En tous cas merci de ta réponse .
@+
tooffy123
Messages postés55Date d'inscriptionvendredi 16 mai 2003StatutMembreDernière intervention16 mars 2009 24 sept. 2007 à 19:28
EPSON : as-tu un logiciel nvidia pour gérer ta carte réseau, ou un pare-feu nvidia ? (NVIDIA NForce MPC Networking)
Si oui, désinstalle-le tout en gardant le driver, j'ai eu ce pb un jour : après désinstallation tout fonctionnait parfaitement, alors qu'avec j'avais régulièrement des fichiers téléchargés corrompus.
tooffy123
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 23 sept. 2007 à 16:41
salut,
ben, je viens de le télécharger et il s'ouvre très bien avec winrar...
ShareVB
cs_epson1
Messages postés89Date d'inscriptiondimanche 12 novembre 2000StatutMembreDernière intervention29 mars 2013 23 sept. 2007 à 15:44
Salut ShareVB ,
Je pense qu'il doit y avoir un probleme avec le zip , je l'ai telechargé 4 fois mais impossible de dezipper (archive corrompue).QQ at-il le meme probleme ? ou c'est chez moi ?
En tous cas , bravo pour ton source sur la fat , j'apprends beaucoup .
Bonne continuation .
@+
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 23 sept. 2007 à 14:38
Ok ShareVB
Inspire toi de mon projet "Acces Disques et Partitions" avec la routine DirectreadWrite dans la module.bas pour le passage d'un Currency en 2 LONG signés compatibles avec SetFilePointer
Sinon bravo pour ces 2 codes
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 23 sept. 2007 à 11:18
salut,
pour FAT : oui, je vais regarder à l'occasion...je passerais en Currency par ce que effectivement je ne pense pas que je gère correctement les high et low...c'est d'ailleurs pour ca (et puis que le code dans le bouqui cité est en C) que dans le code NTFS, c'est une dll en C, comme ca on a les ULONGLONG...
Bravo pour tes 2 dernières sources car je retrouve beaucoup d'informations utilisées dans mon projet "Accès Disques et Partitions"
En tout cas tu as toi aussi fait de sacrées recherches pour en arriver là
Au sujet de FAT recover as-tu eu un bug dû aux 2 valeurs LONG HighPos& et LowPos& qui servent de paramètres à l'Api SetFilePointer ? Si HighPos& 0 et LowPos& 32767 comment passes-tu à LowPos& = 32768 ?
Cela peut-être un risque de bug car avec les LONG signés de VB il faut que LowPos& passe de 32767 à -32768 (soit de &h7FFFF à &h8000) : si une position à lire est au secteur 32768 il y aura dépassement de capacité
Cette erreur se produirait en FAT32 sur de gros disques durs
C'est pour ceci que j'ai passé le numéro de secteur en currency dans mon projet et dans la sub de lecture de secteur je transforme ce Currency en 2 LONG signés pour SetFilePointer.
En tout cas bravo
27 janv. 2010 à 21:45
7 nov. 2009 à 11:28
Méthode originale:
void FixupUSA(LPFILE_RECORD lpFileRecord)
{
DWORD UsaCount = lpFileRecord->Ntfs.UsaCount;
USHORT* lpUsa = (USHORT*)((UCHAR*)lpFileRecord + lpFileRecord->Ntfs.UsaOffset);
for (ULONG i = 0; i < UsaCount;i++)
((USHORT*)lpFileRecord)[256 * i + 255] = lpUsa[i];
}
à remplacer par:
void FixupUSA(LPFILE_RECORD lpFileRecord)
{
DWORD UsaCount = lpFileRecord->Ntfs.UsaCount;
USHORT* lpUsa = (USHORT*)((UCHAR*)lpFileRecord + lpFileRecord->Ntfs.UsaOffset);
for (ULONG i = 1; i < UsaCount;i++)
((USHORT*)lpFileRecord)[(256 * (i-1)) + 255] = lpUsa[i];
}
++
19 oct. 2009 à 00:25
Je suis en train d'appliquer l'exemple donné dans le livre de Gary pour un tout autre usage (C#), je décortique en parallèle les sources de ta dll NTFS.
Dans mes tests (projet c++) je fais appel à ta méthode MapMFT et je rencontre un soucis à l'intérieure de celle-ci.
Ligne:
lpBuff = (LPVOID)new UCHAR[BytesPerFileRecord];
Le debuggeur de VS2008 hurle à la corruption lors de la réservation d'un espace sur le tas pour lpBuff.
Voici le message: Windows has triggered a breakpoint in test.exe. This may be due to a corruption of the heap, which indicates a bug in test.exe or any of the DLLs it has loaded.
Je comprend pas ce qui se passe !
Peux-tu m'aider stp ?
Willi
26 juin 2008 à 15:17
two more problems found:
1.it will crash in some computers, exactly the same operating system(windows 2003), but some works, strange.
2.it uses too much memory, for a 40g drive(100,000 files) will consume 800M+ memory after running the MapMFT, any idea how use less memory? I believe that it could only be done through modifying the NTFS.dll file.
25 juin 2008 à 05:41
25 mars 2008 à 07:50
tooffy123
25 mars 2008 à 00:48
27 sept. 2007 à 15:38
@+
25 sept. 2007 à 19:18
tooffy123
24 sept. 2007 à 22:21
Effectivement maintenant que tu me le dis , je viens de mettre a jour ma Geforce FX 5200 et ça déconne depuis .Je savais pas que ça pouvait mettre une telle M.... . Cela dit , maintenant je ne vois plus de vidéo sur ma télé . Juste Média player avec un cadre noir au milieu .(Pareil avec VLC).Et comment on fait pour désinstaller tout ce bazar ?
Mais y'a quand même un prob avec les zip :
Depuis longtemps le lien inclus au zip n'est pas valide et depuis la nouvelle mouture de VbFrance et sur une autre bécanne:erreur de CRC sur le lien .
Mais le reste du zip est bon .
Voila le résumé de mes miséres .Sob
En tous cas merci de ta réponse .
@+
24 sept. 2007 à 19:28
Si oui, désinstalle-le tout en gardant le driver, j'ai eu ce pb un jour : après désinstallation tout fonctionnait parfaitement, alors qu'avec j'avais régulièrement des fichiers téléchargés corrompus.
tooffy123
23 sept. 2007 à 16:41
ben, je viens de le télécharger et il s'ouvre très bien avec winrar...
ShareVB
23 sept. 2007 à 15:44
Je pense qu'il doit y avoir un probleme avec le zip , je l'ai telechargé 4 fois mais impossible de dezipper (archive corrompue).QQ at-il le meme probleme ? ou c'est chez moi ?
En tous cas , bravo pour ton source sur la fat , j'apprends beaucoup .
Bonne continuation .
@+
23 sept. 2007 à 14:38
ShareVB
23 sept. 2007 à 13:40
Inspire toi de mon projet "Acces Disques et Partitions" avec la routine DirectreadWrite dans la module.bas pour le passage d'un Currency en 2 LONG signés compatibles avec SetFilePointer
Sinon bravo pour ces 2 codes
23 sept. 2007 à 11:18
pour FAT : oui, je vais regarder à l'occasion...je passerais en Currency par ce que effectivement je ne pense pas que je gère correctement les high et low...c'est d'ailleurs pour ca (et puis que le code dans le bouqui cité est en C) que dans le code NTFS, c'est une dll en C, comme ca on a les ULONGLONG...
ShareVB
23 sept. 2007 à 00:26
En tout cas tu as toi aussi fait de sacrées recherches pour en arriver là
Au sujet de FAT recover as-tu eu un bug dû aux 2 valeurs LONG HighPos& et LowPos& qui servent de paramètres à l'Api SetFilePointer ? Si HighPos& 0 et LowPos& 32767 comment passes-tu à LowPos& = 32768 ?
Cela peut-être un risque de bug car avec les LONG signés de VB il faut que LowPos& passe de 32767 à -32768 (soit de &h7FFFF à &h8000) : si une position à lire est au secteur 32768 il y aura dépassement de capacité
Cette erreur se produirait en FAT32 sur de gros disques durs
C'est pour ceci que j'ai passé le numéro de secteur en currency dans mon projet et dans la sub de lecture de secteur je transforme ce Currency en 2 LONG signés pour SetFilePointer.
En tout cas bravo