1
2
3
4
5 package oshi.driver.windows.wmi;
6
7 import com.sun.jna.platform.win32.COM.WbemcliUtil.WmiQuery;
8 import com.sun.jna.platform.win32.COM.WbemcliUtil.WmiResult;
9
10 import oshi.annotation.concurrent.ThreadSafe;
11 import oshi.util.platform.windows.WmiQueryHandler;
12
13
14
15
16 @ThreadSafe
17 public final class Win32DiskDrive {
18
19 private static final String WIN32_DISK_DRIVE = "Win32_DiskDrive";
20
21
22
23
24 public enum DiskDriveProperty {
25 INDEX, MANUFACTURER, MODEL, NAME, SERIALNUMBER, SIZE;
26 }
27
28 private Win32DiskDrive() {
29 }
30
31
32
33
34
35
36
37 public static WmiResult<DiskDriveProperty> queryDiskDrive(WmiQueryHandler h) {
38 WmiQuery<DiskDriveProperty> diskDriveQuery = new WmiQuery<>(WIN32_DISK_DRIVE, DiskDriveProperty.class);
39 return h.queryWMI(diskDriveQuery, false);
40 }
41 }