Làm thế nào tôi có thể nhận được tất cả các đường dẫn ổ đĩa vật lý (\\. \ PhysicalDriveX) trên máy tính Windows, với C/C++?Liệt kê tất cả các ổ đĩa vật lý (Windows)
Câu trả lời trong câu hỏi this gợi ý nhận được ký tự ổ đĩa logic và sau đó nhận ổ đĩa vật lý tương ứng với ổ đĩa được gắn kết đó. Vấn đề là, tôi muốn có được tất cả ổ đĩa vật lý được kết nối với máy tính, kể cả các ổ đĩa không được gắn kết.
Câu trả lời khác đề xuất tăng giá trị từ 0-15 và kiểm tra xem ổ đĩa có tồn tại không (\\. \ PhysicalDrive0, \\. \ PhysicalDrive1, ...) hoặc gọi WMIC để liệt kê tất cả các ổ đĩa. [
Vì chúng có vẻ như chúng hoạt động, chúng có vẻ như chúng không phải là cách tiếp cận tốt nhất để dùng. Không có chức năng đơn giản như GetPhysicalDrives
chỉ đơn giản trả về một vectơ của std::string
có chứa đường dẫn của tất cả các ổ đĩa vật lý không?
Bạn đã xem liệu 'boost :: filesystem' có thể giúp bạn không? – AxelOmega
Tôi chưa xem xét 'tăng', không. Tôi sẽ xem xét điều đó nếu không có câu trả lời nào không yêu cầu thư viện khác không sớm xuất hiện. – hetelek
Các ký tự ổ đĩa tồn tại cho các ổ đĩa logic dù được gắn hay không ... bạn vẫn có một mối quan tâm hợp lệ về đĩa vật lý mà không có ổ đĩa logic (phân vùng được nhận diện) nào cả. –