Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    GetFileSizeEx non lavora sui device

    GetFileSizeEx mi restituisce errore e non funziona sui device

    Quale funzione devo usare al posto di quella? Devo utilizzare DeviceIOControl per acquisire la dimensione del disco?

    In pratica con createfile accedo a \\.\PhysicalDriveX e poi svolgo le mie operazioni però non posso acquisire la dimensione del disco usando GetFileSizeEx

    qualche idea?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Il linguaggio di programmazione è probabilmente andato perso con le modifiche.
    Si tratta di C++?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    per gli interessati

    esiste uno IOCTL da usare con DeviceIOControl per leggere la dimensione del device ... in pratica ritorna la geometria del disco

    lo IOCTL è
    IOCTL_DISK_GET_DRIVE_GEOMETRY

    e vuole questa struttura in uscita
    DISK_GEOMETRY

    senza nessuna struttura in entrata

  4. #4
    Originariamente inviato da alka
    Il linguaggio di programmazione è probabilmente andato perso con le modifiche.
    Si tratta di C++?
    avevo messo C/C++

    comunque l'uno o l'altro è indifferente ... tanto entrambi usano le stesse chiamate allo stesso modo

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: GetFileSizeEx non lavora sui device

    Originariamente inviato da daniele_dll
    GetFileSizeEx mi restituisce errore e non funziona sui device
    Come dice il nome stesso della funzione, credo proprio che lavori solamente su handle a file.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  6. #6

    Re: Re: GetFileSizeEx non lavora sui device

    Originariamente inviato da andbin
    Come dice il nome stesso della funzione, credo proprio che lavori solamente su handle a file.
    anche ReadFile, WriteFile e SetPointerFileEx lavorano su handle di file ... ma funzionano perfettamente su quel file speciale

    e comunque ho appositamente postato per sapere delle soluzioni alternative non per avere detto che GetFileSizeEx non funzionava con i device dato che lo avevo scritto come prima cosa ...

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Re: Re: GetFileSizeEx non lavora sui device

    Originariamente inviato da daniele_dll
    e comunque ho appositamente postato per sapere delle soluzioni alternative non per avere detto che GetFileSizeEx non funzionava con i device dato che lo avevo scritto come prima cosa ...
    Sì, scusa ... non volevo essere scortese, ovviamente!

    Guarda ... dovrei fare delle prove ma la butto lì: una volta che hai aperto il device con CreateFile usando "\\.\PhysicalDriveX", potresti provare a fare un seek alla fine con SetFilePointer e vedere poi "dove" ti trovi.
    Non ne sono sicuro al 100% ... se non è giusto, chiedo scusa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Scusa daniele ma non mi e' chiaro *tutto* il problema ...

    Parli di un disco e di acquisire la sua grandezza e dici che non puoi usare la GetFileSizeEx (giustamente dico io, dato che quella si occupa di file ...) ...

    Forse mi sono perso qualcosa, ma non credo che il problema sia stato enunciato chiaramente ... per esempio ... di quale device stiamo parlando?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Forse e' questo quello che cerchi ?

  10. #10

    Re: Re: Re: Re: GetFileSizeEx non lavora sui device

    Originariamente inviato da andbin
    Sì, scusa ... non volevo essere scortese, ovviamente!

    Guarda ... dovrei fare delle prove ma la butto lì: una volta che hai aperto il device con CreateFile usando "\\.\PhysicalDriveX", potresti provare a fare un seek alla fine con SetFilePointer e vedere poi "dove" ti trovi.
    Non ne sono sicuro al 100% ... se non è giusto, chiedo scusa.
    eheheh non ti preoccupare

    allora, innanzi tutto grazie per il consiglio però purtroppo SetFilePointerEx è la seconda cosa che ho provato proprio per vedere se impostando l'offset su zero e il posizionamento partendo dalla fine potevo leggere la dimensione dal valore di ritorno ma purtroppo non gli è proprio piaciuto

    Originariamente inviato da oregon
    Scusa daniele ma non mi e' chiaro *tutto* il problema ...

    Parli di un disco e di acquisire la sua grandezza e dici che non puoi usare la GetFileSizeEx (giustamente dico io, dato che quella si occupa di file ...) ...

    Forse mi sono perso qualcosa, ma non credo che il problema sia stato enunciato chiaramente ... per esempio ... di quale device stiamo parlando?
    Il problema lo avevo già risolto, per questo avevo postato il discorso del DeviceIOControl

    cmq grazie comunque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.