/* Copyright (C) 2008-2016 Peter Palotas, Jeffrey Jangli, Alexandr Normuradov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
namespace Alphaleonis.Win32.Filesystem
{
internal static partial class NativeMethods
{
/// Flags for SetupDiGetDeviceRegistryProperty().
internal enum SetupDiGetDeviceRegistryPropertyEnum
{
/// SPDRP_DEVICEDESC
/// Represents a description of a device instance.
///
DeviceDescription = 0,
/// SPDRP_HARDWAREID
/// Represents the list of hardware identifiers for a device instance.
///
HardwareId = 1,
/// SPDRP_COMPATIBLEIDS
/// Represents the list of compatible identifiers for a device instance.
///
CompatibleIds = 2,
//SPDRP_UNUSED0 = 0x00000003,
/// SPDRP_CLASS
/// Represents the name of the service that is installed for a device instance.
///
Service = 4,
//SPDRP_UNUSED1 = 0x00000005,
//SPDRP_UNUSED2 = 0x00000006,
/// SPDRP_CLASS
/// Represents the name of the device setup class that a device instance belongs to.
///
Class = 7,
/// SPDRP_CLASSGUID
/// Represents the of the device setup class that a device instance belongs to.
///
ClassGuid = 8,
/// SPDRP_DRIVER
/// Represents the registry entry name of the driver key for a device instance.
///
Driver = 9,
///// SPDRP_CONFIGFLAGS
///// Represents the configuration flags that are set for a device instance.
/////
//ConfigurationFlags = 10,
/// SPDRP_MFG
/// Represents the name of the manufacturer of a device instance.
///
Manufacturer = 11,
/// SPDRP_FRIENDLYNAME
/// Represents the friendly name of a device instance.
///
FriendlyName = 12,
/// SPDRP_LOCATION_INFORMATION
/// Represents the bus-specific physical location of a device instance.
///
LocationInformation = 13,
/// SPDRP_PHYSICAL_DEVICE_LOCATION
/// Encapsulates the physical device location information provided by a device's firmware to Windows.
///
PhysicalDeviceObjectName = 14,
///// SPDRP_CAPABILITIES
//// Represents the capabilities of a device instance.
////
//Capabilities = 15,
///// SPDRP_UI_NUMBER - Represents a number for the device instance that can be displayed in a user interface item.
//UiNumber = 16,
///// SPDRP_UPPERFILTERS - Represents a list of the service names of the upper-level filter drivers that are installed for a device instance.
//UpperFilters = 17,
///// SPDRP_LOWERFILTERS - Represents a list of the service names of the lower-level filter drivers that are installed for a device instance.
//LowerFilters = 18,
///// SPDRP_BUSTYPEGUID - Represents the that identifies the bus type of a device instance.
//BusTypeGuid = 19,
///// SPDRP_LEGACYBUSTYPE - Represents the legacy bus number of a device instance.
//LegacyBusType = 20,
///// SPDRP_BUSNUMBER - Represents the number that identifies the bus instance that a device instance is attached to.
//BusNumber = 21,
/// SPDRP_ENUMERATOR_NAME
/// Represents the name of the enumerator for a device instance.
///
EnumeratorName = 22,
///// SPDRP_SECURITY - Represents a security descriptor structure for a device instance.
//Security = 23,
///// SPDRP_SECURITY_SDS - Represents a security descriptor string for a device instance.
//SecuritySds = 24,
///// SPDRP_DEVTYPE - Represents the device type of a device instance.
//DeviceType = 25,
///// SPDRP_EXCLUSIVE - Represents a Boolean value that determines whether a device instance can be opened for exclusive use.
//Exclusive = 26,
///// SPDRP_CHARACTERISTICS - Represents the characteristics of a device instance.
//Characteristics = 27,
///// SPDRP_ADDRESS - Represents the bus-specific address of a device instance.
//Address = 28,
///// SPDRP_UI_NUMBER_DESC_FORMAT - Represents a printf-compatible format string that you should use to display the value of the device property for a device instance.
//UiNumberDescriptionFormat = 29,
///// SPDRP_DEVICE_POWER_DATA - Represents power information about a device instance.
//DevicePowerData = 30,
///// SPDRP_REMOVAL_POLICY - Represents the current removal policy for a device instance.
//RemovalPolicy = 31,
///// SPDRP_REMOVAL_POLICY_HW_DEFAULT - Represents the default removal policy for a device instance.
//RemovalPolicyDefault = 32,
///// SPDRP_REMOVAL_POLICY_OVERRIDE- Represents the removal policy override for a device instance.
//RemovalPolicyOverride = 33,
///// SPDRP_INSTALL_STATE - Represents the installation state of a device instance.
//InstallState = 34,
/// SPDRP_LOCATION_PATHS
/// Represents the location of a device instance in the device tree.
///
LocationPaths = 35,
/// SPDRP_BASE_CONTAINERID
/// Represents the value of the base container identifier (ID) .The Windows Plug and Play (PnP) manager assigns this value to the device node (devnode).
///
BaseContainerId = 36
}
}
}