Added Function Discovery API assembly

pull/217/head
dahall 2021-03-18 17:32:31 -06:00
parent 6c23b00a9c
commit 24c81732f4
6 changed files with 2456 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
namespace Vanara.PInvoke
{
public static partial class FunDisc
{
#pragma warning disable CS1591
public const string FD_SUBKEY = "SOFTWARE\\Microsoft\\Function Discovery\\";
public const string FD_SUBKEY_CATEGORIES = FD_SUBKEY + "Categories\\";
// *****************************************************************************
// Function Discovery Categories
// *****************************************************************************
// Important: Anything added here should also be added to FunctionDiscoveryManagedKeys.h
// *****************************************************************************
// Provider Categories
// Windows Vista
public const string FCTN_CATEGORY_PNP = "Provider\\Microsoft.Base.PnP";
public const string FCTN_CATEGORY_REGISTRY = "Provider\\Microsoft.Base.Registry";
public const string FCTN_CATEGORY_SSDP = "Provider\\Microsoft.Networking.SSDP";
public const string FCTN_CATEGORY_WSDISCOVERY = "Provider\\Microsoft.Networking.WSD";
public const string FCTN_CATEGORY_NETBIOS = "Provider\\Microsoft.Networking.Netbios";
public const string FCTN_CATEGORY_WCN = "Provider\\Microsoft.Networking.WCN";
public const string FCTN_CATEGORY_PUBLICATION = "Provider\\Microsoft.Base.Publication";
public const string FCTN_CATEGORY_PNPXASSOCIATION = "Provider\\Microsoft.PnPX.Association";
// Wireless Update Release
public const string FCTN_CATEGORY_BT = "Provider\\Microsoft.Devices.Bluetooth";
public const string FCTN_CATEGORY_WUSB = "Provider\\Microsoft.Devices.WirelessUSB";
public const string FCTN_CATEGORY_DEVICEDISPLAYOBJECTS = "Provider\\Microsoft.Base.DeviceDisplayObjects";
public const string FCTN_CATEGORY_DEVQUERYOBJECTS = "Provider\\Microsoft.Base.DevQueryObjects";
// Layered Categories
// Windows Vista
public const string FCTN_CATEGORY_NETWORKDEVICES = "Layered\\Microsoft.Networking.Devices";
public const string FCTN_CATEGORY_DEVICES = "Layered\\Microsoft.Base.Devices";
public const string FCTN_CATEGORY_DEVICEFUNCTIONENUMERATORS = "Layered\\Microsoft.Devices.FunctionEnumerators";
public const string FCTN_CATEGORY_DEVICEPAIRING = "Layered\\Microsoft.Base.DevicePairing";
// *****************************************************************************
// Function Discovery SubCategories
// *****************************************************************************
// Important: Anything added here should also be added to FunctionDiscoveryManagedKeys.h
// *****************************************************************************
// Subcategories of Devices FCTN_CATEGORY_DEVICES
public const string FCTN_SUBCAT_DEVICES_WSDPRINTERS = "WSDPrinters";
// Subcategories of Devices FCTN_CATEGORY_NETWORKDEVICES
public const string FCTN_SUBCAT_NETWORKDEVICES_SSDP = "SSDP";
public const string FCTN_SUBCAT_NETWORKDEVICES_WSD = "WSD";
// Subcategories of Registry
public const string FCTN_SUBCAT_REG_PUBLICATION = "Publication";
public const string FCTN_SUBCAT_REG_DIRECTED = "Directed";
}
}

View File

@ -0,0 +1,184 @@
namespace Vanara.PInvoke
{
public static partial class FunDisc
{
#pragma warning disable CS1591
///////////////////////////////////////////////////////////////////////////////
// QUERY Constraint defines
///////////////////////////////////////////////////////////////////////////////
public const int MAX_FDCONSTRAINTNAME_LENGTH = 100;
public const int MAX_FDCONSTRAINTVALUE_LENGTH = 1000;
// Common Provider specific Constraints
public const string FD_QUERYCONSTRAINT_PROVIDERINSTANCEID = "ProviderInstanceID";
public const string FD_QUERYCONSTRAINT_SUBCATEGORY = "Subcategory";
public const string FD_QUERYCONSTRAINT_RECURSESUBCATEGORY = "RecurseSubcategory";
public const string FD_QUERYCONSTRAINT_VISIBILITY = "Visibility";
// FD_CONSTRAINTVALUE_VISIBILITY_DEFAULT you want just default instances (visible as defined by the provider)
// FD_CONSTRAINTVALUE_VISIBILITY_ALL (default) you want both visible and not visible/hidden instances (as defined by the provider)
public const string FD_QUERYCONSTRAINT_COMCLSCONTEXT = "COMClsContext";
public const string FD_QUERYCONSTRAINT_ROUTINGSCOPE = "RoutingScope";
// Common Provider specific Constraints values
public const string FD_CONSTRAINTVALUE_TRUE = "TRUE";
public const string FD_CONSTRAINTVALUE_FALSE = "FALSE";
public const string FD_CONSTRAINTVALUE_RECURSESUBCATEGORY_TRUE = FD_CONSTRAINTVALUE_TRUE;
public const string FD_CONSTRAINTVALUE_VISIBILITY_DEFAULT = "0";
public const string FD_CONSTRAINTVALUE_VISIBILITY_ALL = "1";
public const string FD_CONSTRAINTVALUE_COMCLSCONTEXT_INPROC_SERVER = "1";
public const string FD_CONSTRAINTVALUE_COMCLSCONTEXT_LOCAL_SERVER = "4";
public const string FD_CONSTRAINTVALUE_PAIRED = "Paired";
public const string FD_CONSTRAINTVALUE_UNPAIRED = "UnPaired";
public const string FD_CONSTRAINTVALUE_ALL = "All";
public const string FD_CONSTRAINTVALUE_ROUTINGSCOPE_ALL = "All";
public const string FD_CONSTRAINTVALUE_ROUTINGSCOPE_DIRECT = "Direct";
///////////////////////////////////////////////////////////////////////////////
// Provider inquiry constraints
public const string FD_QUERYCONSTRAINT_PAIRING_STATE = "PairingState";
// if unset, provider default is FD_CONSTRAINTVALUE_PAIRED
// FD_CONSTRAINTVALUE_PAIRED will return all paired devices
// FD_CONSTRAINTVALUE_UNPAIRED will return all unpaired devices within wireless or wired range
// FD_CONSTRAINTVALUE_ALL will return all devices cached and within wireless or wired range
public const string FD_QUERYCONSTRAINT_INQUIRY_TIMEOUT = "InquiryModeTimeout"; // #seconds 6-600 supported, default is 300
///////////////////////////////////////////////////////////////////////////////
// PNP Provider specific Constraints
public const string PROVIDERPNP_QUERYCONSTRAINT_INTERFACECLASS = "InterfaceClass";
public const string PROVIDERPNP_QUERYCONSTRAINT_NOTPRESENT = "NotPresent";
public const string PROVIDERPNP_QUERYCONSTRAINT_NOTIFICATIONSONLY = "NotifyOnly";
// PNP_CONSTRAINTVALUE_NOTPRESENT you want "not present" instances as well
// "FALSE" (default) you want only DIGCF_PRESENT instances.
// PNP Provider specific Constraints values
public const string PNP_CONSTRAINTVALUE_NOTPRESENT = FD_CONSTRAINTVALUE_TRUE;
public const string PNP_CONSTRAINTVALUE_NOTIFICATIONSONLY = FD_CONSTRAINTVALUE_TRUE;
///////////////////////////////////////////////////////////////////////////////
// SSDP Provider specific Constraints
public const string PROVIDERSSDP_QUERYCONSTRAINT_TYPE = "Type";
public const string PROVIDERSSDP_QUERYCONSTRAINT_CUSTOMXMLPROPERTY = "CustomXmlProperty";
// SSDP Provider specific Constraints values
public const string SSDP_CONSTRAINTVALUE_TYPE_ALL = "ssdp:all";
public const string SSDP_CONSTRAINTVALUE_TYPE_ROOT = "upnp:rootdevice";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX = "urn:schemas-upnp-org:device:";
public const string SSDP_CONSTRAINTVALUE_TYPE_SVC_PREFIX = "urn:schemas-upnp-org:service:";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_LIGHTING = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "Lighting:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_REMINDER = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "Reminder:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_POWERDEVICE = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "PowerDevice:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_IGD = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "InternetGatewayDevice:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_WANDEVICE = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "WANDevice:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_LANDEVICE = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "LANDevice:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_WANCONNDEVICE = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "WANConnectionDevice:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_LUXMETER = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "Luxmeter:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_MDARNDR = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "MediaRenderer:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_DEV_MDASRVR = SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX + "MediaServer:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_SVC_SCANNER = SSDP_CONSTRAINTVALUE_TYPE_SVC_PREFIX + "Scanner:1";
public const string SSDP_CONSTRAINTVALUE_TYPE_SVC_DIMMING = SSDP_CONSTRAINTVALUE_TYPE_SVC_PREFIX + "DimmingService:1";
///////////////////////////////////////////////////////////////////////////////
// WSD Provider specific Constraints
public const string PROVIDERWSD_QUERYCONSTRAINT_DIRECTEDADDRESS = "RemoteAddress";
public const string PROVIDERWSD_QUERYCONSTRAINT_TYPE = "Type";
public const string PROVIDERWSD_QUERYCONSTRAINT_SCOPE = "Scope";
public const string PROVIDERWSD_QUERYCONSTRAINT_SECURITY_REQUIREMENTS = "SecurityRequirements";
public const string PROVIDERWSD_QUERYCONSTRAINT_SSL_CERT_FOR_CLIENT_AUTH = "SSLClientAuthCert";
public const string PROVIDERWSD_QUERYCONSTRAINT_SSL_CERTHASH_FOR_SERVER_AUTH = "SSLServerAuthCertHash";
// WSD provider specific Constraint values
public const string WSD_CONSTRAINTVALUE_REQUIRE_SECURECHANNEL = "1";
public const string WSD_CONSTRAINTVALUE_REQUIRE_SECURECHANNEL_AND_COMPACTSIGNATURE = "2";
public const string WSD_CONSTRAINTVALUE_NO_TRUST_VERIFICATION = "3";
///////////////////////////////////////////////////////////////////////////////
// NetBios Provider specific Constraints
public const string PROVIDERWNET_QUERYCONSTRAINT_TYPE = "Type";
public const string PROVIDERWNET_QUERYCONSTRAINT_PROPERTIES = "Properties";
public const string PROVIDERWNET_QUERYCONSTRAINT_RESOURCETYPE = "ResourceType";
public const string WNET_CONSTRAINTVALUE_TYPE_ALL = "All";
public const string WNET_CONSTRAINTVALUE_TYPE_SERVER = "Server"; // Default;
public const string WNET_CONSTRAINTVALUE_TYPE_DOMAIN = "Domain";
public const string WNET_CONSTRAINTVALUE_PROPERTIES_ALL = "All";
public const string WNET_CONSTRAINTVALUE_PROPERTIES_LIMITED = "Limited"; // Default;
public const string WNET_CONSTRAINTVALUE_RESOURCETYPE_DISK = "Disk"; // All non-printer shares (dwDisplayType == RESOURCEDISPLAYTYPE_SHARE and dwType != RESOURCETYPE_PRINT);
public const string WNET_CONSTRAINTVALUE_RESOURCETYPE_PRINTER = "Printer"; // All printer shares (dwDisplayType == RESOURCEDISPLAYTYPE_SHARE and dwType == RESOURCETYPE_PRINT);
public const string WNET_CONSTRAINTVALUE_RESOURCETYPE_DISKORPRINTER = "DiskOrPrinter"; // All shares (dwDisplayType == RESOURCEDISPLAYTYPE_SHARE);
public const string ONLINE_PROVIDER_DEVICES_QUERYCONSTRAINT_OWNERNAME = "OwnerName";
///////////////////////////////////////////////////////////////////////////////
// Device Display Object Provider specific Constraints
public const string PROVIDERDDO_QUERYCONSTRAINT_DEVICEFUNCTIONDISPLAYOBJECTS = "DeviceFunctionDisplayObjects";
public const string PROVIDERDDO_QUERYCONSTRAINT_ONLYCONNECTEDDEVICES = "OnlyConnectedDevices";
public const string PROVIDERDDO_QUERYCONSTRAINT_DEVICEINTERFACES = "DeviceInterfaces";
/// <summary>
/// <para>
/// [Function Discovery is available for use in the operating systems specified in the Requirements section. It may be altered or
/// unavailable in subsequent versions.]
/// </para>
/// <para>
/// Qualifies the filter conditions used for searching for function instances. This enumeration is used when adding a constraint to
/// a query using the IFunctionInstanceCollectionQuery::AddPropertyConstraint method.
/// </para>
/// <para>
/// A function instance will only match a property constraint when the property key (PKEY) passed to AddPropertyConstraint has the
/// same PROPVARIANT type as the PKEY in the function instance's property store and the PROPVARIANT value satisfies the constraint's
/// filter conditions.
/// </para>
/// </summary>
// https://docs.microsoft.com/en-us/windows/win32/api/functiondiscoveryconstraints/ne-functiondiscoveryconstraints-propertyconstraint
// typedef enum tagPropertyConstraint { QC_EQUALS, QC_NOTEQUAL, QC_LESSTHAN, QC_LESSTHANOREQUAL, QC_GREATERTHAN,
// QC_GREATERTHANOREQUAL, QC_STARTSWITH, QC_EXISTS, QC_DOESNOTEXIST, QC_CONTAINS } PropertyConstraint;
[PInvokeData("functiondiscoveryconstraints.h", MSDNShortId = "NE:functiondiscoveryconstraints.tagPropertyConstraint")]
public enum PropertyConstraint
{
/// <summary>The constraint's PKEY and the function instance's PKEY must be equal.</summary>
QC_EQUALS,
/// <summary>The constraint's PKEY and the function instance's PKEY must not be equal.</summary>
QC_NOTEQUAL,
/// <summary>The constraint's PKEY must be less than the function instance's PKEY. This value can be used only with numbers.</summary>
QC_LESSTHAN,
/// <summary>
/// The constraint's PKEY must be less than or equal to the function instance's PKEY. This value can be used only with numbers.
/// </summary>
QC_LESSTHANOREQUAL,
/// <summary>The constraint's PKEY must be greater than the function instance's PKEY. This value can be used only with numbers.</summary>
QC_GREATERTHAN,
/// <summary>
/// The constraint's PKEY must be greater than or equal to the function instance's PKEY. This value can be used only with numbers.
/// </summary>
QC_GREATERTHANOREQUAL,
/// <summary>
/// The constraint's PKEY must be the start of the function instance's PKEY. This value can be used with strings only.
/// </summary>
QC_STARTSWITH,
/// <summary>The property must exist.</summary>
QC_EXISTS,
/// <summary>The property must not exist.</summary>
QC_DOESNOTEXIST,
/// <summary>
/// The constraint's PKEY value must be contained within the function instance's PKEY value. This filter is only supported for
/// PROPVARIANTs of type VT_LPWSTR or VT_VECTOR
/// </summary>
QC_CONTAINS,
}
}
}

View File

@ -0,0 +1,344 @@
using System;
using static Vanara.PInvoke.Ole32;
namespace Vanara.PInvoke
{
public static partial class FunDisc
{
#pragma warning disable CS1591
/* 08c0c253-a154-4746-9005-82de5317148b */
public static readonly PROPERTYKEY PKEY_FunctionInstance = new PROPERTYKEY(new Guid(0x08c0c253, 0xa154, 0x4746, 0x90, 0x05, 0x82, 0xde, 0x53, 0x17, 0x14, 0x8b), 0x00000001); // VT_UNKNOWN
// FMTID_FD = {904b03a2-471d-423c-a584-f3483238a146}
public static readonly Guid FMTID_FD = new Guid(0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46);
public static readonly PROPERTYKEY PKEY_FD_Visibility = new PROPERTYKEY(new Guid(0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46), 0x00000001); // VT_UINT
public const int FD_Visibility_Default = 0;
public const int FD_Visibility_Hidden = 1;
// FMTID_Device = {78C34FC8-104A-4aca-9EA4-524D52996E57}
public static readonly Guid FMTID_Device = new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57);
public static readonly PROPERTYKEY PKEY_Device_NotPresent = new PROPERTYKEY(new Guid(0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46), 0x00000002); // VT_UINT
public static readonly PROPERTYKEY PKEY_Device_QueueSize = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000024); // VT_UI4
public static readonly PROPERTYKEY PKEY_Device_Status = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000025); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_Device_Comment = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000026); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_Device_Model = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000027); // VT_LPWSTR
// FMTID_Device = {53808008-07BB-4661-BC3C-B5953E708560}
public static readonly Guid FMTID_DeviceInterface = new Guid(0x53808008, 0x07BB, 0x4661, 0xBC, 0x3C, 0xB5, 0x95, 0x3E, 0x70, 0x85, 0x60);
public static readonly PROPERTYKEY PKEY_DeviceInterface_DevicePath = new PROPERTYKEY(new Guid(0x53808008, 0x07BB, 0x4661, 0xBC, 0x3C, 0xB5, 0x95, 0x3E, 0x70, 0x85, 0x60), 0x00000001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Address = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000033); // VT_LPWSTR or VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_DiscoveryMethod = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000034); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsEncrypted = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000035); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsAuthenticated = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000036); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsConnected = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000037); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsPaired = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000038); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Icon = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000039); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Version = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000041); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Last_Seen = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000042); // VT_FIELTIME
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Last_Connected = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000043); // VT_FILETIME
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsShowInDisconnectedState = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000044); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsLocalMachine = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000046); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_MetadataPath = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000047); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsMetadataSearchInProgress = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000048); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_MetadataChecksum = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000049); // VT_UI1 | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsNotInterestingForDisplay = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004A); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_LaunchDeviceStageOnDeviceConnect = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004C); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_LaunchDeviceStageFromExplorer = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004D); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_BaselineExperienceId = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004E); // VT_CLSID
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsDeviceUniquelyIdentifiable = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004F); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_AssociationArray = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000050); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_DeviceDescription1 = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000051); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_DeviceDescription2 = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000052); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsNotWorkingProperly = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000053); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsSharedDevice = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000054); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsNetworkDevice = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000055); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsDefaultDevice = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000056); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_MetadataCabinet = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000057); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_RequiresPairingElevation = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000058); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_ExperienceId = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000059); // VT_CLSID
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005A); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category_Desc_Singular = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005B); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category_Desc_Plural = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005C); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category_Icon = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005D); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_CategoryGroup_Desc = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005E); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_CategoryGroup_Icon = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005F); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_PrimaryCategory = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000061); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_UnpairUninstall = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000062); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_RequiresUninstallElevation = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000063); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_DeviceFunctionSubRank = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000064); // VT_UI4
public static readonly PROPERTYKEY PKEY_DeviceDisplay_AlwaysShowDeviceAsConnected = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000065); // VT_BOOL
public static readonly PROPERTYKEY PKEY_DeviceDisplay_FriendlyName = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003000); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_Manufacturer = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002000); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_ModelName = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002002); // VT_LPWSTR (localizable)
public static readonly PROPERTYKEY PKEY_DeviceDisplay_ModelNumber = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002003); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_DeviceDisplay_InstallInProgress = new PROPERTYKEY(new Guid(0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29), 9); // DEVPROP_TYPE_BOOLEAN
// FMTID_Pairing = {8807CAE6-7DB6-4f10-8EE4-435EAA1392BC}
public static readonly Guid FMTID_Pairing = new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc);
public static readonly PROPERTYKEY PKEY_Pairing_ListItemText = new PROPERTYKEY(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_Pairing_ListItemDescription = new PROPERTYKEY(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000002); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_Pairing_ListItemIcon = new PROPERTYKEY(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000003); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_Pairing_ListItemDefault = new PROPERTYKEY(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000004); // VT_BOOL
public static readonly PROPERTYKEY PKEY_Pairing_IsWifiOnlyDevice = new PROPERTYKEY(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000010); // VT_BOOL
// DiscoveryMethod values
public const string DEVICEDISPLAY_DISCOVERYMETHOD_BLUETOOTH = "Bluetooth";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_BLUETOOTH_LE = "Bluetooth Low Energy";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_NETBIOS = "NetBIOS";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_AD_PRINTER = "Published Printer";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_PNP = "PnP";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_UPNP = "UPnP";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_WSD = "WSD";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_WUSB = "WUSB";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_WFD = "WiFiDirect";
public const string DEVICEDISPLAY_DISCOVERYMETHOD_ASP_INFRA = "AspInfra";
// Name: System.Device.BIOSVersion -- PKEY_Device_BIOSVersion
// Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_BSTR.
// FormatID: EAEE7F1D-6A33-44D1-9441-5F46DEF23198, 9
public static readonly PROPERTYKEY PKEY_Device_BIOSVersion = new PROPERTYKEY(new Guid(0xEAEE7F1D, 0x6A33, 0x44D1, 0x94, 0x41, 0x5F, 0x46, 0xDE, 0xF2, 0x31, 0x98), 9);
public static readonly PROPERTYKEY PKEY_Write_Time = new PROPERTYKEY(new Guid(0xf53b7e1c, 0x77e0, 0x4450, 0x8c, 0x5f, 0xa7, 0x6c, 0xc7, 0xfd, 0xe0, 0x58), 0x00000100); // VT_FILETIME
public static readonly PROPERTYKEY PKEY_Create_Time = new PROPERTYKEY(new Guid(0xf53b7e1c, 0x77e0, 0x4450, 0x8c, 0x5f, 0xa7, 0x6c, 0xc7, 0xfd, 0xe0, 0x58), 0x00000101); // VT_FILETIME
public static readonly PROPERTYKEY PKEY_Device_InstanceId = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000100); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_Device_Interface = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000101); // VT_CLSID
public static readonly PROPERTYKEY PKEY_ExposedIIDs = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00003002); // VT_VECTOR | VT_CLSID
public static readonly PROPERTYKEY PKEY_ExposedCLSIDs = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00003003); // VT_VECTOR | VT_CLSID
public static readonly PROPERTYKEY PKEY_InstanceValidatorClsid = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00003004); // VT_CLSID
// FMTID_WSD = {92506491-FF95-4724-A05A-5B81885A7C92}
public static readonly Guid FMTID_WSD = new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92);
public static readonly PROPERTYKEY PKEY_WSD_AddressURI = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001000); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WSD_Types = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WSD_Scopes = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001002); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WSD_MetadataVersion = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001003); //VT_UI8
public static readonly PROPERTYKEY PKEY_WSD_AppSeqInstanceID = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001004); // VT_UI8
public static readonly PROPERTYKEY PKEY_WSD_AppSeqSessionID = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001005); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WSD_AppSeqMessageNumber = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001006); // VT_UI8
public static readonly PROPERTYKEY PKEY_WSD_XAddrs = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00002000); // VT_LPWSTR or VT_VECTOR | VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WSD_MetadataClean = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00000001); // VT_BOOL
public static readonly PROPERTYKEY PKEY_WSD_ServiceInfo = new PROPERTYKEY(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00000002); // VT_VECTOR|VT_VARIANT (variants are VT_UNKNOWN)
public static readonly PROPERTYKEY PKEY_PUBSVCS_TYPE = new PROPERTYKEY(new Guid(0xF1B88AD3, 0x109C, 0x4FD2, 0xBA, 0x3F, 0x53, 0x5A, 0x76, 0x5F, 0x82, 0xF4), 0x00005001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PUBSVCS_SCOPE = new PROPERTYKEY(new Guid(0x2AE2B567, 0xEECB, 0x4A3E, 0xB7, 0x53, 0x54, 0xC7, 0x25, 0x49, 0x43, 0x66), 0x00005002); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PUBSVCS_METADATA = new PROPERTYKEY(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005003); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PUBSVCS_METADATA_VERSION = new PROPERTYKEY(new Guid(0xC0C96C15, 0x1823, 0x4E5B, 0x93, 0x48, 0xE8, 0x25, 0x19, 0x92, 0x3F, 0x04), 0x00005004); // VT_UI8
public static readonly PROPERTYKEY PKEY_PUBSVCS_NETWORK_PROFILES_ALLOWED = new PROPERTYKEY(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005005); // VT_VECTOR | VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PUBSVCS_NETWORK_PROFILES_DENIED = new PROPERTYKEY(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005006); // VT_VECTOR | VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PUBSVCS_NETWORK_PROFILES_DEFAULT = new PROPERTYKEY(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005007); // VT_BOOL
// FMTID_PNPX = {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}
public static readonly Guid FMTID_PNPX = new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD);
// from Discovery messages
public static readonly PROPERTYKEY PKEY_PNPX_GlobalIdentity = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001000); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_Types = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001001); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_Scopes = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001002); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_XAddrs = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001003); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_MetadataVersion = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001004); // VT_UI8
public static readonly PROPERTYKEY PKEY_PNPX_ID = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001005); // VT_LPWSTR
// for Directed Discovery
public static readonly PROPERTYKEY PKEY_PNPX_RemoteAddress = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001006); // VT_LPWSTR
// for installable ssdp root devices
public static readonly PROPERTYKEY PKEY_PNPX_RootProxy = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001007); // VT_BOOL
// from ThisModel metadata
public static readonly PROPERTYKEY PKEY_PNPX_ManufacturerUrl = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_ModelUrl = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002004); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_Upc = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002005); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_PresentationUrl = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002006); // VT_LPWSTR
// from ThisDevice metadata
public static readonly PROPERTYKEY PKEY_PNPX_FirmwareVersion = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_SerialNumber = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003002); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_DeviceCategory = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003004); // VT_LPWSTR | VT_VECTOR
// for secure devices
public static readonly PROPERTYKEY PKEY_PNPX_SecureChannel = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007001); // VT_BOOL
public static readonly PROPERTYKEY PKEY_PNPX_CompactSignature = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007002); // VT_BOOL
public static readonly PROPERTYKEY PKEY_PNPX_DeviceCertHash = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007003); // VT_LPWSTR
// DeviceCategory values
public const string PNPX_DEVICECATEGORY_COMPUTER = "Computers";
public const string PNPX_DEVICECATEGORY_INPUTDEVICE = "Input";
public const string PNPX_DEVICECATEGORY_PRINTER = "Printers";
public const string PNPX_DEVICECATEGORY_SCANNER = "Scanners";
public const string PNPX_DEVICECATEGORY_FAX = "FAX";
public const string PNPX_DEVICECATEGORY_MFP = "MFP";
public const string PNPX_DEVICECATEGORY_CAMERA = "Cameras";
public const string PNPX_DEVICECATEGORY_STORAGE = "Storage";
public const string PNPX_DEVICECATEGORY_NETWORK_INFRASTRUCTURE = "NetworkInfrastructure";
public const string PNPX_DEVICECATEGORY_DISPLAYS = "Displays";
public const string PNPX_DEVICECATEGORY_MULTIMEDIA_DEVICE = "MediaDevices";
public const string PNPX_DEVICECATEGORY_GAMING_DEVICE = "Gaming";
public const string PNPX_DEVICECATEGORY_TELEPHONE = "Phones";
public const string PNPX_DEVICECATEGORY_HOME_AUTOMATION_SYSTEM = "HomeAutomation";
public const string PNPX_DEVICECATEGORY_HOME_SECURITY_SYSTEM = "HomeSecurity";
public const string PNPX_DEVICECATEGORY_OTHER = "Other";
public static readonly PROPERTYKEY PKEY_PNPX_DeviceCategory_Desc = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003005); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_Category_Desc_NonPlural = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003010); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_PhysicalAddress = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003006); // VT_UI1 | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_NetworkInterfaceLuid = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003007); // VT_UI8
public static readonly PROPERTYKEY PKEY_PNPX_NetworkInterfaceGuid = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003008); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_IpAddress = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003009); // VT_LPWSTR | VT_VECTOR
// from Relationship metadata
public static readonly PROPERTYKEY PKEY_PNPX_ServiceAddress = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00004000); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_ServiceId = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00004001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_ServiceTypes = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00004002); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_ServiceControlUrl = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x4004); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_ServiceDescUrl = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x4005); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_ServiceEventSubUrl = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x4006); // VT_LPWSTR
// Association DB PKEYs
public static readonly PROPERTYKEY PKEY_PNPX_Devnode = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000001); // VT_BOOL
public static readonly PROPERTYKEY PKEY_PNPX_AssociationState = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000002); // VT_UINT
public static readonly PROPERTYKEY PKEY_PNPX_AssociatedInstanceId = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000003); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_LastNotificationTime = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000004); // VT_DATE
// for Computer Discovery
public static readonly PROPERTYKEY PKEY_PNPX_DomainName = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00005000); // VT_LPWSTR
// Use PKEY_ComputerName (propkey.h)
public static readonly PROPERTYKEY PKEY_PNPX_MachineName = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00005001); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_PNPX_ShareName = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00005002); // VT_LPWSTR
// SSDP Provider custom properties
public static readonly PROPERTYKEY PKEY_SSDP_AltLocationInfo = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00006000); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_SSDP_DevLifeTime = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00006001); // VT_UI4
public static readonly PROPERTYKEY PKEY_SSDP_NetworkInterface = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00006002); // VT_BOOL
// FMTID_PNPXDynamicProperty = {4FC5077E-B686-44BE-93E3-86CAFE368CCD}
public static readonly Guid FMTID_PNPXDynamicProperty = new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD);
public static readonly PROPERTYKEY PKEY_PNPX_Installable = new PROPERTYKEY(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000001); // VT_BOOL
public static readonly PROPERTYKEY PKEY_PNPX_Associated = new PROPERTYKEY(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000002); // VT_BOOL
// PKEY_PNPX_Installed is deprecated this PKEY really represents Associated state
public static readonly PROPERTYKEY PKEY_PNPX_CompatibleTypes = new PROPERTYKEY(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000003); // VT_LPWSTR | VT_VECTOR
public static readonly PROPERTYKEY PKEY_PNPX_InstallState = new PROPERTYKEY(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000004); // VT_UI4 | VT_VECTOR
public const int PNPX_INSTALLSTATE_NOTINSTALLED = 0; // vector length = 1
public const int PNPX_INSTALLSTATE_INSTALLED = 1; // vector length = 3, CM_Get_DevNode_Status in 2nd and 3rd elements
public const int PNPX_INSTALLSTATE_INSTALLING = 2; // vector length = 1 or 3, CM_Get_DevNode_Status in 2nd and 3rd elements if available
public const int PNPX_INSTALLSTATE_FAILED = 3; // vector length = 3, CM_Get_DevNode_Status in 2nd and 3rd elements
// Other
public static readonly PROPERTYKEY PKEY_PNPX_Removable = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007000); // VT_BOOL
public static readonly PROPERTYKEY PKEY_PNPX_IPBusEnumerated = new PROPERTYKEY(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007010); // VT_BOOL
// WNET Provider properties
public static readonly PROPERTYKEY PKEY_WNET_Scope = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000001); // VT_UINT
public static readonly PROPERTYKEY PKEY_WNET_Type = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000002); // VT_UINT
public static readonly PROPERTYKEY PKEY_WNET_DisplayType = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000003); // VT_UINT
public static readonly PROPERTYKEY PKEY_WNET_Usage = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000004); // VT_UINT
public static readonly PROPERTYKEY PKEY_WNET_LocalName = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000005); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WNET_RemoteName = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000006); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WNET_Comment = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000007); // VT_LPWSTR
public static readonly PROPERTYKEY PKEY_WNET_Provider = new PROPERTYKEY(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000008); // VT_LPWSTR
// WCN Provider properties
public static readonly PROPERTYKEY PKEY_WCN_Version = new PROPERTYKEY(new Guid(0x88190b80, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000001); // VT_UI1
public static readonly PROPERTYKEY PKEY_WCN_RequestType = new PROPERTYKEY(new Guid(0x88190b81, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000002); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_AuthType = new PROPERTYKEY(new Guid(0x88190b82, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000003); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_EncryptType = new PROPERTYKEY(new Guid(0x88190b83, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000004); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_ConnType = new PROPERTYKEY(new Guid(0x88190b84, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000005); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_ConfigMethods = new PROPERTYKEY(new Guid(0x88190b85, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000006); // VT_INT
// map WCN DeviceType to PKEY_PNPX_DeviceCategory
//public static readonly PROPERTYKEY PKEY_WCN_DeviceType = new PROPERTYKEY(new Guid(0x88190b86, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000007); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_RfBand = new PROPERTYKEY(new Guid(0x88190b87, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000008); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_AssocState = new PROPERTYKEY(new Guid(0x88190b88, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000009); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_ConfigError = new PROPERTYKEY(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000a); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_ConfigState = new PROPERTYKEY(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000b); // VT_UI1
public static readonly PROPERTYKEY PKEY_WCN_DevicePasswordId = new PROPERTYKEY(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000c); // VT_INT
public static readonly PROPERTYKEY PKEY_WCN_OSVersion = new PROPERTYKEY(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000d); // VT_UINT
public static readonly PROPERTYKEY PKEY_WCN_VendorExtension = new PROPERTYKEY(new Guid(0x88190b8a, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000e); // VT_UI1 | VT_VECTOR
public static readonly PROPERTYKEY PKEY_WCN_RegistrarType = new PROPERTYKEY(new Guid(0x88190b8b, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000f); // VT_INT
//-----------------------------------------------------------------------------
// Hardware properties
public static readonly PROPERTYKEY PKEY_Hardware_Devinst = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4097);
// Name: System.Hardware.DisplayAttribute -- PKEY_Hardware_DisplayAttribute
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 5
public static readonly PROPERTYKEY PKEY_Hardware_DisplayAttribute = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 5);
// Name: System.Hardware.DriverDate -- PKEY_Hardware_DriverDate
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 11
public static readonly PROPERTYKEY PKEY_Hardware_DriverDate = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 11);
// Name: System.Hardware.DriverProvider -- PKEY_Hardware_DriverProvider
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 10
public static readonly PROPERTYKEY PKEY_Hardware_DriverProvider = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 10);
// Name: System.Hardware.DriverVersion -- PKEY_Hardware_DriverVersion
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 9
public static readonly PROPERTYKEY PKEY_Hardware_DriverVersion = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 9);
// Name: System.Hardware.Function -- PKEY_Hardware_Function
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4099
public static readonly PROPERTYKEY PKEY_Hardware_Function = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4099);
// Name: System.Hardware.Icon -- PKEY_Hardware_Icon
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 3
public static readonly PROPERTYKEY PKEY_Hardware_Icon = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 3);
// Name: System.Hardware.Image -- PKEY_Hardware_Image
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4098
public static readonly PROPERTYKEY PKEY_Hardware_Image = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4098);
// Name: System.Hardware.Manufacturer -- PKEY_Hardware_Manufacturer
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 6
public static readonly PROPERTYKEY PKEY_Hardware_Manufacturer = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 6);
// Name: System.Hardware.Model -- PKEY_Hardware_Model
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 7
public static readonly PROPERTYKEY PKEY_Hardware_Model = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 7);
// Name: System.Hardware.Name -- PKEY_Hardware_Name
// Type: String -- VT_LPWSTR (For variants: VT_BSTR)
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 2
public static readonly PROPERTYKEY PKEY_Hardware_Name = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 2);
// Name: System.Hardware.SerialNumber -- PKEY_Hardware_SerialNumber
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 8
public static readonly PROPERTYKEY PKEY_Hardware_SerialNumber = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 8);
// Name: System.Hardware.ShellAttributes -- PKEY_Hardware_ShellAttributes
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4100
public static readonly PROPERTYKEY PKEY_Hardware_ShellAttributes = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4100);
// Name: System.Hardware.Status -- PKEY_Hardware_Status
// Type: Unspecified -- VT_NULL
// FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4096
public static readonly PROPERTYKEY PKEY_Hardware_Status = new PROPERTYKEY(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4096);
}
}

View File

@ -0,0 +1,184 @@
using System;
using static Vanara.PInvoke.Ole32;
namespace Vanara.PInvoke
{
public static partial class FunDisc
{
#pragma warning disable CS1591
//
// _NAME
//
public static readonly PROPERTYKEY PKEY_NAME = new PROPERTYKEY(new Guid(0xb725f130, 0x47ef, 0x101a, 0xa5, 0xf1, 0x02, 0x60, 0x8c, 0x9e, 0xeb, 0xac), 10); // DEVPROP_TYPE_STRING
//
// Device properties
// These PKEYs correspond to the old setupapi SPDRP_XXX properties
//
public static readonly PROPERTYKEY PKEY_Device_DeviceDesc = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 2); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_HardwareIds = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 3); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_CompatibleIds = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 4); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_Service = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 6); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_Class = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 9); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_ClassGuid = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 10); // DEVPROP_TYPE_GUID
public static readonly PROPERTYKEY PKEY_Device_Driver = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 11); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_ConfigFlags = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 12); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_Manufacturer = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 13); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_FriendlyName = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 14); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_LocationInfo = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 15); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_PDOName = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 16); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_Capabilities = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 17); // DEVPROP_TYPE_UNINT32
public static readonly PROPERTYKEY PKEY_Device_UINumber = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 18); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_UpperFilters = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 19); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_LowerFilters = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 20); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_BusTypeGuid = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 21); // DEVPROP_TYPE_GUID
public static readonly PROPERTYKEY PKEY_Device_LegacyBusType = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 22); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_BusNumber = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 23); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_EnumeratorName = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 24); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_Security = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 25); // DEVPROP_TYPE_SECURITY_DESCRIPTOR
public static readonly PROPERTYKEY PKEY_Device_SecuritySDS = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 26); // DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING
public static readonly PROPERTYKEY PKEY_Device_DevType = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 27); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_Exclusive = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 28); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_Characteristics = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 29); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_Address = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 30); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_UINumberDescFormat = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 31); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_PowerData = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 32); // DEVPROP_TYPE_BINARY
public static readonly PROPERTYKEY PKEY_Device_RemovalPolicy = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 33); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_RemovalPolicyDefault = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 34); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_RemovalPolicyOverride = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 35); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_InstallState = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 36); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_LocationPaths = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 37); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_BaseContainerId = new PROPERTYKEY(new Guid(0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0), 38); // DEVPROP_TYPE_GUID
//
// Device properties
// These PKEYs correspond to a device's status and problem code
//
public static readonly PROPERTYKEY PKEY_Device_DevNodeStatus = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 2); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_ProblemCode = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 3); // DEVPROP_TYPE_UINT32
//
// Device properties
// These PKEYs correspond to device relations
//
public static readonly PROPERTYKEY PKEY_Device_EjectionRelations = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 4); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_RemovalRelations = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 5); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_PowerRelations = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 6); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_BusRelations = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 7); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_Parent = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 8); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_Children = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 9); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_Siblings = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 10); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_TransportRelations = new PROPERTYKEY(new Guid(0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7), 11); // DEVPROP_TYPE_STRING_LIST
//
// Other Device properties
//
public static readonly PROPERTYKEY PKEY_Device_Reported = new PROPERTYKEY(new Guid(0x80497100, 0x8c73, 0x48b9, 0xaa, 0xd9, 0xce, 0x38, 0x7e, 0x19, 0xc5, 0x6e), 2); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_Device_Legacy = new PROPERTYKEY(new Guid(0x80497100, 0x8c73, 0x48b9, 0xaa, 0xd9, 0xce, 0x38, 0x7e, 0x19, 0xc5, 0x6e), 3); // DEVPROP_TYPE_BOOLEAN
//public static readonly PROPERTYKEY PKEY_Device_InstanceId = new PROPERTYKEY(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 256); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_ContainerId = new PROPERTYKEY(new Guid(0x8c7ed206, 0x3f8a, 0x4827, 0xb3, 0xab, 0xae, 0x9e, 0x1f, 0xae, 0xfc, 0x6c), 2); // DEVPROP_TYPE_GUID
public static readonly PROPERTYKEY PKEY_Device_ModelId = new PROPERTYKEY(new Guid(0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b), 2); // DEVPROP_TYPE_GUID
public static readonly PROPERTYKEY PKEY_Device_FriendlyNameAttributes = new PROPERTYKEY(new Guid(0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b), 3); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_ManufacturerAttributes = new PROPERTYKEY(new Guid(0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b), 4); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_PresenceNotForDevice = new PROPERTYKEY(new Guid(0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b), 5); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_Device_SignalStrength = new PROPERTYKEY(new Guid(0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b), 6); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_IsAssociateableByUserAction = new PROPERTYKEY(new Guid(0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b), 7);// DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_Numa_Proximity_Domain = new PROPERTYKEY(new Guid(0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2), 1); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_DHP_Rebalance_Policy = new PROPERTYKEY(new Guid(0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2), 2); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_Numa_Node = new PROPERTYKEY(new Guid(0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2), 3); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_BusReportedDeviceDesc = new PROPERTYKEY(new Guid(0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2), 4); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_InstallInProgress = new PROPERTYKEY(new Guid(0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29), 9); // DEVPROP_TYPE_BOOLEAN
//
// Device driver properties
//
public static readonly PROPERTYKEY PKEY_Device_DriverDate = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 2); // DEVPROP_TYPE_FILETIME
public static readonly PROPERTYKEY PKEY_Device_DriverVersion = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 3); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverDesc = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 4); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverInfPath = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 5); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverInfSection = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 6); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverInfSectionExt = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 7); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_MatchingDeviceId = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 8); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverProvider = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 9); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverPropPageProvider = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 10); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverCoInstallers = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 11); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_Device_ResourcePickerTags = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 12); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_ResourcePickerExceptions = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 13); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_Device_DriverRank = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 14); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_DriverLogoLevel = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 15); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_Device_NoConnectSound = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 17); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_Device_GenericDriverInstalled = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 18); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_Device_AdditionalSoftwareRequested = new PROPERTYKEY(new Guid(0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6), 19);// DEVPROP_TYPE_BOOLEAN
//
// Device safe-removal properties
//
public static readonly PROPERTYKEY PKEY_Device_SafeRemovalRequired = new PROPERTYKEY(new Guid(0xafd97640, 0x86a3, 0x4210, 0xb6, 0x7c, 0x28, 0x9c, 0x41, 0xaa, 0xbe, 0x55), 2); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_Device_SafeRemovalRequiredOverride = new PROPERTYKEY(new Guid(0xafd97640, 0x86a3, 0x4210, 0xb6, 0x7c, 0x28, 0x9c, 0x41, 0xaa, 0xbe, 0x55), 3);// DEVPROP_TYPE_BOOLEAN
//
// Device properties that were set by the driver package that was installed
// on the device.
//
public static readonly PROPERTYKEY PKEY_DrvPkg_Model = new PROPERTYKEY(new Guid(0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32), 2); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DrvPkg_VendorWebSite = new PROPERTYKEY(new Guid(0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32), 3); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DrvPkg_DetailedDescription = new PROPERTYKEY(new Guid(0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32), 4); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DrvPkg_DocumentationLink = new PROPERTYKEY(new Guid(0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32), 5); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DrvPkg_Icon = new PROPERTYKEY(new Guid(0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32), 6); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_DrvPkg_BrandingIcon = new PROPERTYKEY(new Guid(0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32), 7); // DEVPROP_TYPE_STRING_LIST
//
// Device setup class properties
// These PKEYs correspond to the old setupapi SPCRP_XXX properties
//
public static readonly PROPERTYKEY PKEY_DeviceClass_UpperFilters = new PROPERTYKEY(new Guid(0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b), 19); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_DeviceClass_LowerFilters = new PROPERTYKEY(new Guid(0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b), 20); // DEVPROP_TYPE_STRING_LIST
public static readonly PROPERTYKEY PKEY_DeviceClass_Security = new PROPERTYKEY(new Guid(0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b), 25); // DEVPROP_TYPE_SECURITY_DESCRIPTOR
public static readonly PROPERTYKEY PKEY_DeviceClass_SecuritySDS = new PROPERTYKEY(new Guid(0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b), 26); // DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING
public static readonly PROPERTYKEY PKEY_DeviceClass_DevType = new PROPERTYKEY(new Guid(0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b), 27); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_DeviceClass_Exclusive = new PROPERTYKEY(new Guid(0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b), 28); // DEVPROP_TYPE_UINT32
public static readonly PROPERTYKEY PKEY_DeviceClass_Characteristics = new PROPERTYKEY(new Guid(0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b), 29); // DEVPROP_TYPE_UINT32
//
// Device setup class properties
// These PKEYs correspond to registry values under the device class GUID key
//
public static readonly PROPERTYKEY PKEY_DeviceClass_Name = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 2); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DeviceClass_ClassName = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 3); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DeviceClass_Icon = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 4); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DeviceClass_ClassInstaller = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 5); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DeviceClass_PropPageProvider = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 6); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DeviceClass_NoInstallClass = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 7); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_DeviceClass_NoDisplayClass = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 8); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_DeviceClass_SilentInstall = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 9); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_DeviceClass_NoUseClass = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 10); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_DeviceClass_DefaultService = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 11); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DeviceClass_IconPath = new PROPERTYKEY(new Guid(0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66), 12); // DEVPROP_TYPE_STRING_LIST
//
// Other Device setup class properties
//
public static readonly PROPERTYKEY PKEY_DeviceClass_ClassCoInstallers = new PROPERTYKEY(new Guid(0x713d1703, 0xa2e2, 0x49f5, 0x92, 0x14, 0x56, 0x47, 0x2e, 0xf3, 0xda, 0x5c), 2); // DEVPROP_TYPE_STRING_LIST
//
// Device interface properties
//
public static readonly PROPERTYKEY PKEY_DeviceInterface_FriendlyName = new PROPERTYKEY(new Guid(0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22), 2); // DEVPROP_TYPE_STRING
public static readonly PROPERTYKEY PKEY_DeviceInterface_Enabled = new PROPERTYKEY(new Guid(0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22), 3); // DEVPROP_TYPE_BOOLEAN
public static readonly PROPERTYKEY PKEY_DeviceInterface_ClassGuid = new PROPERTYKEY(new Guid(0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22), 4); // DEVPROP_TYPE_GUID
//
// Device interface class properties
//
public static readonly PROPERTYKEY PKEY_DeviceInterfaceClass_DefaultInterface = new PROPERTYKEY(new Guid(0x14c83a99, 0x0b3f, 0x44b7, 0xbe, 0x4c, 0xa1, 0x78, 0xd3, 0x99, 0x05, 0x64), 2); // DEVPROP_TYPE_STRING
}
}

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<ProjectExtensions>
<SupportedDlls>FunDisc.dll</SupportedDlls>
</ProjectExtensions>
<PropertyGroup>
<Description>PInvoke API (methods, structures and constants) imported from Windows Functional Discovery (FunDisc.dll).</Description>
<AssemblyTitle>$(AssemblyName)</AssemblyTitle>
<TargetFrameworks>net20;net35;net40;net45;net5.0-windows;netstandard2.0;netcoreapp2.0;netcoreapp2.1;netcoreapp3.0;netcoreapp3.1</TargetFrameworks>
<AssemblyName>Vanara.PInvoke.FunDisc</AssemblyName>
<PackageId>$(AssemblyName)</PackageId>
<PackageTags>pinvoke;vanara;net-extensions;interop;FunDisc;Windows Functional Discovery</PackageTags>
<PackageReleaseNotes/>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Core\Vanara.Core.csproj" />
<ProjectReference Include="..\Shared\Vanara.PInvoke.Shared.csproj" />
<ProjectReference Include="..\Ole\Vanara.PInvoke.Ole.csproj" />
</ItemGroup>
</Project>