ReactOS  0.4.15-dev-2700-g4b4ffa9
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 
6 PCSTR
8  _In_ PINQUIRYDATA InquiryData)
9 {
10  switch (InquiryData->DeviceType)
11  {
13  return "Disk";
15  return "Sequential";
16  case PRINTER_DEVICE:
17  return "Printer";
18  case PROCESSOR_DEVICE:
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 
48 PCSTR
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 
86 PCWSTR
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 }
const uint16_t * PCWSTR
Definition: typedefs.h:57
FORCEINLINE PCWSTR GetPeripheralTypeW(_In_ PINQUIRYDATA InquiryData)
Definition: scsitypes.h:87
FORCEINLINE PCSTR GetGenericType(_In_ PINQUIRYDATA InquiryData)
Definition: scsitypes.h:49
#define WRITE_ONCE_READ_MULTIPLE_DEVICE
Definition: cdrw_hw.h:1148
#define SCANNER_DEVICE
Definition: cdrw_hw.h:1150
#define PROCESSOR_DEVICE
Definition: cdrw_hw.h:1147
#define ARRAY_CONTROLLER_DEVICE
Definition: scsi.h:551
#define OPTICAL_CARD_READER_WRITER_DEVICE
Definition: scsi.h:554
#define SEQUENTIAL_ACCESS_DEVICE
Definition: cdrw_hw.h:1145
#define SCSI_ENCLOSURE_DEVICE
Definition: scsi.h:552
#define REDUCED_BLOCK_DEVICE
Definition: scsi.h:553
#define PRINTER_DEVICE
Definition: cdrw_hw.h:1146
#define DIRECT_ACCESS_DEVICE
Definition: cdrw_hw.h:1144
static const WCHAR L[]
Definition: oid.c:1250
#define _In_
Definition: no_sal2.h:158
FORCEINLINE PCSTR GetDeviceType(_In_ PINQUIRYDATA InquiryData)
Definition: scsitypes.h:7
#define FORCEINLINE
Definition: wdftypes.h:67
#define BRIDGE_CONTROLLER_DEVICE
Definition: scsi.h:555
#define OPTICAL_DEVICE
Definition: cdrw_hw.h:1151
#define MEDIUM_CHANGER
Definition: cdrw_hw.h:1152
#define COMMUNICATION_DEVICE
Definition: cdrw_hw.h:1153
#define READ_ONLY_DIRECT_ACCESS_DEVICE
Definition: cdrw_hw.h:1149
const char * PCSTR
Definition: typedefs.h:52