You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

200 lines
12 KiB

  1. /* Copyright (C) 2008-2016 Peter Palotas, Jeffrey Jangli, Alexandr Normuradov
  2. *
  3. * Permission is hereby granted, free of charge, to any person obtaining a copy
  4. * of this software and associated documentation files (the "Software"), to deal
  5. * in the Software without restriction, including without limitation the rights
  6. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7. * copies of the Software, and to permit persons to whom the Software is
  8. * furnished to do so, subject to the following conditions:
  9. *
  10. * The above copyright notice and this permission notice shall be included in
  11. * all copies or substantial portions of the Software.
  12. *
  13. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  18. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  19. * THE SOFTWARE.
  20. */
  21. using System.ComponentModel;
  22. using System.Diagnostics.CodeAnalysis;
  23. namespace Alphaleonis.Win32.Filesystem
  24. {
  25. /// <summary>System-Defined Device Interface Classes</summary>
  26. /// <remarks>http://msdn.microsoft.com/en-us/library/windows/hardware/ff541389%28v=vs.85%29.aspx</remarks>
  27. public enum DeviceGuid
  28. {
  29. #region 1394 and 61883 Devices
  30. /// <summary>The BUS1394_CLASS_GUID device interface class is defined for 1394 bus devices.</summary>
  31. [Description("6BDD1FC1-810F-11d0-BEC7-08002BE2092F")] Bus1394,
  32. /// <summary>The GUID_61883_CLASS device interface class is defined for devices in the 61883 device setup class.</summary>
  33. [Description("7EBEFBC0-3200-11d2-B4C2-00A0C9697D07")] Guid61883,
  34. #endregion // 1394 and 61883 Devices
  35. #region Battery and ACPI devices
  36. /// <summary>The GUID_DEVICE_APPLICATIONLAUNCH_BUTTON device interface class is defined for Advanced Configuration and Power Interface (ACPI) application start buttons.</summary>
  37. [Description("629758EE-986E-4D9E-8E47-DE27F8AB054D")] ApplicationLaunchButton,
  38. /// <summary>The GUID_DEVICE_BATTERY device interface class is defined for battery devices.</summary>
  39. [Description("72631E54-78A4-11D0-BCF7-00AA00B7B32A")] Battery,
  40. /// <summary>The GUID_DEVICE_LID device interface class is defined for Advanced Configuration and Power Interface (ACPI) lid devices.</summary>
  41. [Description("4AFA3D52-74A7-11d0-be5e-00A0C9062857")] Lid,
  42. /// <summary>The GUID_DEVICE_MEMORY device interface class is defined for Advanced Configuration and Power Interface (ACPI) memory devices.</summary>
  43. [Description("3FD0F03D-92E0-45FB-B75C-5ED8FFB01021")] Memory,
  44. /// <summary>The GUID_DEVICE_MESSAGE_INDICATOR device interface class is defined for Advanced Configuration and Power Interface (ACPI) message indicator devices.</summary>
  45. [Description("CD48A365-FA94-4CE2-A232-A1B764E5D8B4")] MessageIndicator,
  46. /// <summary>The GUID_DEVICE_PROCESSOR device interface class is defined for Advanced Configuration and Power Interface (ACPI) processor devices.</summary>
  47. [Description("97FADB10-4E33-40AE-359C-8BEF029DBDD0")] Processor,
  48. /// <summary>The GUID_DEVICE_SYS_BUTTON device interface classis defined for Advanced Configuration and Power Interface (ACPI) system power button devices.</summary>
  49. [Description("4AFA3D53-74A7-11d0-be5e-00A0C9062857")] SysButton,
  50. /// <summary>The GUID_DEVICE_THERMAL_ZONE device interface class is defined for Advanced Configuration and Power Interface (ACPI) thermal zone devices.</summary>
  51. [Description("4AFA3D51-74A7-11d0-be5e-00A0C9062857")] ThermalZone,
  52. #endregion // Battery and ACPI devices
  53. #region Bluetooth Devices
  54. /// <summary>The GUID_BTHPORT_DEVICE_INTERFACE device interface class is defined for Bluetooth radios.</summary>
  55. [Description("0850302A-B344-4fda-9BE9-90576B8D46F0")] Bluetooth,
  56. #endregion // Bluetooth Devices
  57. #region Display and Image Devices
  58. /// <summary>The GUID_DEVINTERFACE_BRIGHTNESS device interface class is defined for display adapter drivers that operate in the context of the Windows Vista Display Driver Model and support brightness control of monitor child devices.</summary>
  59. [Description("FDE5BBA4-B3F9-46FB-BDAA-0728CE3100B4")] Brightness,
  60. /// <summary>The GUID_DEVINTERFACE_DISPLAY_ADAPTER device interface class is defined for display views that are supported by display adapters.</summary>
  61. [Description("5B45201D-F2F2-4F3B-85BB-30FF1F953599")] DisplayAdapter,
  62. /// <summary>The GUID_DEVINTERFACE_I2C device interface class is defined for display adapter drivers that operate in the context of the Windows Vista Display Driver Model and perform I2C transactions with monitor child devices.</summary>
  63. [Description("2564AA4F-DDDB-4495-B497-6AD4A84163D7")] I2C,
  64. /// <summary>The GUID_DEVINTERFACE_IMAGE device interface class is defined for WIA devices and Still Image (STI) devices, including digital cameras and scanners.</summary>
  65. [Description("6BDD1FC6-810F-11D0-BEC7-08002BE2092F")] StillImage,
  66. /// <summary>The GUID_DEVINTERFACE_MONITOR device interface class is defined for monitor devices.</summary>
  67. [Description("E6F07B5F-EE97-4a90-B076-33F57BF4EAA7")] Monitor,
  68. /// <summary>The GUID_DEVINTERFACE_OPM device interface class is defined for display adapter drivers that operate in the context of the Windows Vista Display Driver Model and support output protection management (OPM) for monitor child devices.</summary>
  69. [Description("BF4672DE-6B4E-4BE4-A325-68A91EA49C09")] OutputProtectionManagement,
  70. /// <summary>The GUID_DEVINTERFACE_VIDEO_OUTPUT_ARRIVAL device interface class is defined for child devices of display devices.</summary>
  71. [Description("1AD9E4F0-F88D-4360-BAB9-4C2D55E564CD")] VideoOutputArrival,
  72. /// <summary>The GUID_DISPLAY_DEVICE_ARRIVAL device interface class is defined for display adapters.</summary>
  73. [Description("1CA05180-A699-450A-9A0C-DE4FBE3DDD89")] DisplayDeviceArrival,
  74. #endregion // Display and Image Devices
  75. #region Interactive Input Devices
  76. /// <summary>The GUID_DEVINTERFACE_HID device interface class is defined for HID collections.</summary>
  77. [Description("4D1E55B2-F16F-11CF-88CB-001111000030")] Hid,
  78. /// <summary>The GUID_DEVINTERFACE_KEYBOARD device interface class is defined for keyboard devices.</summary>
  79. [Description("4D1E55B2-F16F-11CF-88CB-001111000030")] Keyboard,
  80. /// <summary>The GUID_DEVINTERFACE_MOUSE device interface class is defined for mouse devices.</summary>
  81. [Description("378DE44C-56EF-11D1-BC8C-00A0C91405DD")] Mouse,
  82. #endregion // Interactive Input Devices
  83. #region Modem Devices
  84. /// <summary>The GUID_DEVINTERFACE_MODEM device interface class is defined for modem devices.</summary>
  85. [Description("2C7089AA-2E0E-11D1-B114-00C04FC2AAE4")] Modem,
  86. #endregion // Modem Devices
  87. #region Network Devices
  88. /// <summary>The GUID_DEVINTERFACE_NET device interface class is defined for network devices.</summary>
  89. [Description("CAC88484-7515-4C03-82E6-71A87ABAC361")] Network,
  90. #endregion // Network Devices
  91. #region Serial and Parallel Port Devices
  92. /// <summary>The GUID_DEVINTERFACE_COMPORT device interface class is defined for COM ports.</summary>
  93. [SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "ComPort")]
  94. [Description("86E0D1E0-8089-11D0-9CE4-08003E301F73")] ComPort,
  95. /// <summary>The GUID_DEVINTERFACE_PARALLEL device interface class is defined for parallel ports that support an IEEE 1284-compatible hardware interface.</summary>
  96. [Description("97F76EF0-F883-11D0-AF1F-0000F800845C")] Parallel,
  97. /// <summary>The GUID_DEVINTERFACE_PARCLASS device interface class is defined for devices that are attached to a parallel port.</summary>
  98. [Description("811FC6A5-F728-11D0-A537-0000F8753ED1")] ParallelClass,
  99. /// <summary>The GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR device interface class is defined for Plug and Play (PnP) serial ports.</summary>
  100. [Description("4D36E978-E325-11CE-BFC1-08002BE10318")] SerialEnumBusEnumerator,
  101. #endregion // Serial and Parallel Port Devices
  102. #region Storage Devices
  103. /// <summary>The GUID_DEVINTERFACE_CDCHANGER device interface class is defined for CD-ROM changer devices.</summary>
  104. [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Cdrom")]
  105. [Description("53F56312-B6BF-11D0-94F2-00A0C91EFB8B")] CdromChanger,
  106. /// <summary>The GUID_DEVINTERFACE_CDROM device interface class is defined for CD-ROM storage devices.</summary>
  107. [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Cdrom")]
  108. [Description("53F56308-B6BF-11D0-94F2-00A0C91EFB8B")] Cdrom,
  109. /// <summary>The GUID_DEVINTERFACE_DISK device interface class is defined for hard disk storage devices.</summary>
  110. [Description("53F56307-B6BF-11D0-94F2-00A0C91EFB8B")] Disk,
  111. /// <summary>The GUID_DEVINTERFACE_FLOPPY device interface class is defined for floppy disk storage devices.</summary>
  112. [Description("53F56311-B6BF-11D0-94F2-00A0C91EFB8B")] Floppy,
  113. /// <summary>The GUID_DEVINTERFACE_MEDIUMCHANGER device interface class is defined for medium changer devices.</summary>
  114. [Description("53F56310-B6BF-11D0-94F2-00A0C91EFB8B")] MediumChanger,
  115. /// <summary>The GUID_DEVINTERFACE_PARTITION device interface class is defined for partition devices.</summary>
  116. [Description("53F5630A-B6BF-11D0-94F2-00A0C91EFB8B")] Partition,
  117. /// <summary>The GUID_DEVINTERFACE_STORAGEPORT device interface class is defined for storage port devices.</summary>
  118. [Description("2ACCFE60-C130-11D2-B082-00A0C91EFB8B")] StoragePort,
  119. /// <summary>The GUID_DEVINTERFACE_TAPE device interface class is defined for tape storage devices.</summary>
  120. [Description("53F5630B-B6BF-11D0-94F2-00A0C91EFB8B")] Tape,
  121. /// <summary>The GUID_DEVINTERFACE_VOLUME device interface class is defined for volume devices.</summary>
  122. [Description("53F5630D-B6BF-11D0-94F2-00A0C91EFB8B")] Volume,
  123. /// <summary>The GUID_DEVINTERFACE_WRITEONCEDISK device interface class is defined for write-once disk devices.</summary>
  124. [Description("53F5630C-B6BF-11D0-94F2-00A0C91EFB8B")] WriteOnceDisk,
  125. #endregion // Storage Devices
  126. #region USB Devices
  127. /// <summary>The GUID_DEVINTERFACE_USB_DEVICE device interface class is defined for USB devices that are attached to a USB hub.</summary>
  128. [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Usb")]
  129. [Description("A5DCBF10-6530-11D2-901F-00C04FB951ED")] UsbDevice,
  130. /// <summary>The GUID_DEVINTERFACE_USB_HOST_CONTROLLER device interface class is defined for USB host controller devices.</summary>
  131. [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Usb")]
  132. [Description("3ABF6F2D-71C4-462A-8A92-1E6861E6AF27")] UsbHostController,
  133. /// <summary>The GUID_DEVINTERFACE_USB_HUB device interface class is defined for USB hub devices.</summary>
  134. [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Usb")]
  135. [Description("F18A0E88-C30C-11D0-8815-00A0C906BED8")] UsbHub
  136. #endregion // USB Devices
  137. }
  138. }