ReactOS 0.4.15-dev-7924-g5949c20
scsitypes.h
Go to the documentation of this file.
1
2// see https://docs.microsoft.com/en-us/windows-hardware/drivers/install/identifiers-for-scsi-devices
3// and https://docs.microsoft.com/en-us/windows-hardware/drivers/install/identifiers-for-ide-devices
4
8 _In_ PINQUIRYDATA InquiryData)
9{
10 switch (InquiryData->DeviceType)
11 {
13 return "Disk";
15 return "Sequential";
16 case PRINTER_DEVICE:
17 return "Printer";
19 return "Processor";
21 return "Worm";
23 return "CdRom";
24 case SCANNER_DEVICE:
25 return "Scanner";
26 case OPTICAL_DEVICE:
27 return "Optical";
28 case MEDIUM_CHANGER:
29 return "Changer";
31 return "Net";
33 return "Array";
35 return "Enclosure";
37 return "RBC";
39 return "CardReader";
41 return "Bridge";
42 default:
43 return "Other";
44 }
45}
46
50 _In_ PINQUIRYDATA InquiryData)
51{
52 switch (InquiryData->DeviceType)
53 {
55 return "GenDisk";
56 case PRINTER_DEVICE:
57 return "GenPrinter";
59 return "GenWorm";
61 return "GenCdRom";
62 case SCANNER_DEVICE:
63 return "GenScanner";
64 case OPTICAL_DEVICE:
65 return "GenOptical";
66 case MEDIUM_CHANGER:
67 return "ScsiChanger";
69 return "ScsiNet";
71 return "ScsiArray";
73 return "ScsiEnclosure";
75 return "ScsiRBC";
77 return "ScsiCardReader";
79 return "ScsiBridge";
80 default:
81 return "ScsiOther";
82 }
83}
84
88 _In_ PINQUIRYDATA InquiryData)
89{
90 switch (InquiryData->DeviceType)
91 {
93 return L"DiskPeripheral";
95 return L"TapePeripheral";
96 case PRINTER_DEVICE:
97 return L"PrinterPeripheral";
98 // case 3: "ProcessorPeripheral", classified as 'other': fall back to default case.
100 return L"WormPeripheral";
102 return L"CdRomPeripheral";
103 case SCANNER_DEVICE:
104 return L"ScannerPeripheral";
105 case OPTICAL_DEVICE:
106 return L"OpticalDiskPeripheral";
107 case MEDIUM_CHANGER:
108 return L"MediumChangerPeripheral";
110 return L"CommunicationsPeripheral";
112 return L"ArrayPeripheral";
114 return L"EnclosurePeripheral";
116 return L"RBCPeripheral";
118 return L"CardReaderPeripheral";
120 return L"BridgePeripheral";
121 default:
122 return L"OtherPeripheral";
123 }
124}
#define COMMUNICATION_DEVICE
Definition: cdrw_hw.h:1153
#define WRITE_ONCE_READ_MULTIPLE_DEVICE
Definition: cdrw_hw.h:1148
#define DIRECT_ACCESS_DEVICE
Definition: cdrw_hw.h:1144
#define PRINTER_DEVICE
Definition: cdrw_hw.h:1146
#define OPTICAL_DEVICE
Definition: cdrw_hw.h:1151
#define READ_ONLY_DIRECT_ACCESS_DEVICE
Definition: cdrw_hw.h:1149
#define SEQUENTIAL_ACCESS_DEVICE
Definition: cdrw_hw.h:1145
#define PROCESSOR_DEVICE
Definition: cdrw_hw.h:1147
#define MEDIUM_CHANGER
Definition: cdrw_hw.h:1152
#define SCANNER_DEVICE
Definition: cdrw_hw.h:1150
#define _In_
Definition: ms_sal.h:308
#define L(x)
Definition: ntvdm.h:50
FORCEINLINE PCSTR GetGenericType(_In_ PINQUIRYDATA InquiryData)
Definition: scsitypes.h:49
FORCEINLINE PCWSTR GetPeripheralTypeW(_In_ PINQUIRYDATA InquiryData)
Definition: scsitypes.h:87
FORCEINLINE PCSTR GetDeviceType(_In_ PINQUIRYDATA InquiryData)
Definition: scsitypes.h:7
#define BRIDGE_CONTROLLER_DEVICE
Definition: scsi.h:555
#define OPTICAL_CARD_READER_WRITER_DEVICE
Definition: scsi.h:554
#define REDUCED_BLOCK_DEVICE
Definition: scsi.h:553
#define ARRAY_CONTROLLER_DEVICE
Definition: scsi.h:551
#define SCSI_ENCLOSURE_DEVICE
Definition: scsi.h:552
const uint16_t * PCWSTR
Definition: typedefs.h:57
const char * PCSTR
Definition: typedefs.h:52
#define FORCEINLINE
Definition: wdftypes.h:67