Come posso ottenere tutti i percorsi fisici (\\. \ PhysicalDriveX) su un computer Windows, con C/C++?Listing All Physical Drives (Windows)
Le risposte nella domanda this suggeriscono di ottenere la lettera dell'unità logica, quindi di ottenere l'unità fisica corrispondente a quella unità montata. Il problema è che voglio ottenere tutte le unità fisiche collegate al computer, incluse le unità che non sono montate.
altre risposte suggeriscono di incrementare un valore 0-15 e controllando se esiste un'unità lì (\\. \ PHYSICALDRIVE0, \\. \ PhysicalDrive1, ...) o chiamando WMIC per elencare tutte le unità. [
Dato che sembrano funzionare, sembrano non essere l'approccio migliore da prendere. Non esiste una semplice funzione come GetPhysicalDrives
che restituisce semplicemente un vettore di std::string
contenente i percorsi di tutte le unità fisiche?
Hai guardato se 'boost :: filesystem' può aiutarti? – AxelOmega
Non ho ancora esaminato 'boost', no. Darò un'occhiata a questo se nessuna risposta che non richiede un'altra libreria non verrà presto. – hetelek
Le lettere di unità esistono per le unità logiche sia montate che non ... si ha ancora una preoccupazione valida sui dischi fisici senza unità logiche (partizioni riconosciute). –