Tôi có một số ổ đĩa USB được kết nối với máy tính WinXP SP3 và tôi cần phải phân biệt chúng theo cách lập trình - Tôi cần tìm ký tự ổ đĩa tương ứng với thiết bị (trong trường hợp này, một thiết bị ~ một khối lượng). Tôi có thể lấy ID Khối lượng của họ và ký tự ổ đĩa sử dụng mountvol
, tìm một cái gì đó như thế này:Tìm ổ đĩa nào tương ứng với thiết bị lưu trữ USB nào trong WinXP
C:\WINDOWS\> mountvol
\\?\Volume{bdb681b2-1ddf-11dd-bf71-806d6172696f}\
C:\
\\?\Volume{6a8784f8-7406-11dd-a8c3-001e8c829b67}\
A:\
Ngoài ra, sử dụng devcon hoặc Device Manager, tôi có thể thấy các ID thiết bị:
C:\WINDOWS\> devcon resources *STOR*
STORAGE\REMOVABLEMEDIA\7&190C24E5&0&RM
Name: Generic volume
STORAGE\VOLUME\1&30A96598&0&SIGNATURED84ED84EOFFSET7E00LENGTH2543150400
Name: Generic volume
USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER2.0&REV_1.00\0803240752536&0
Name: Kingston DataTraveler2.0 USB Device
Tuy nhiên, tôi chưa tìm thấy cách liên kết ID thiết bị và ID/chữ cái khối lượng, như hộp thoại "Xóa an toàn phần cứng" (do đó tôi cho rằng có thể):
Generic volume - A: http://stuff.piskvor.org/safely_remove.png
Như bạn có thể thấy, đây là những thiết bị tương tự mà tôi thấy trong devcon và cùng khối lượng mà mountvol thấy; nhưng cho đến nay tôi đã không tìm thấy liên kết giữa chúng.
Tôi đã tìm thấy một số relatedquestions, nhưng những người dường như sử dụng phương pháp "bất cứ điều gì bạn tìm thấy đầu tiên là thiết bị USB của bạn", mà không phải là rất hữu ích trong trường hợp của tôi, vì sẽ có nhiều thiết bị tương tự (cùng nhà cung cấp, thường cùng loại sản phẩm) được kết nối.
Edit:
@MSalters 'câu trả lời sẽ hứa hẹn: Trên XP, HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
có REG_BINARY
giá trị \DosDevices\x:
(nơi x
là [A-Z]); nhận xét là (UTF-16) tên của thiết bị chính xác (ví dụ
\DosDevices\A:
= "\??\STORAGE#RemovableMedia#7&190c24e5&0&RM#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}\"
, tương ứng với
STORAGE\REMOVABLEMEDIA\7&190C24E5&0&RM
thấy ở trên trong danh sách thiết bị).
sẽ thấy nếu đó là con đường để đi.
Bạn đã bao giờ tìm cách để thực hiện việc này chưa? Tôi cũng đang cố gắng xác định âm lượng được gắn cho thiết bị lưu trữ USB. Cảm ơn. –
@Stephen Nutt: Không, không thực sự; nó quá phức tạp - đã dành quá nhiều thời gian đào sâu vào nó, so với nhiệm vụ tổng thể; việc sử dụng các API không có giấy tờ có thể trở nên quá lộn xộn. (Ngoài ra, những thay đổi trong nhiệm vụ tổng thể đã khắc phục sự cần thiết này đối với tôi) – Piskvor
@Stephen Nutt: Mặc dù tôi đã từ bỏ nỗ lực này trong Windows, bây giờ tôi đã tìm ra cách để làm điều này trong Linux, nếu bạn quan tâm: http://stackoverflow.com/questions/3881449/find-which-drive-corresponds-to-which-usb-mass-storage-device-in-linux – Piskvor