mirror of https://github.com/UMSKT/xpmgr.git
146 lines
8.2 KiB
C
146 lines
8.2 KiB
C
#pragma once
|
|
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// QUERY Constraint defines
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define MAX_FDCONSTRAINTNAME_LENGTH 100
|
|
#define MAX_FDCONSTRAINTVALUE_LENGTH 1000
|
|
|
|
// Common Provider specific Constraints
|
|
#define FD_QUERYCONSTRAINT_PROVIDERINSTANCEID L"ProviderInstanceID"
|
|
#define FD_QUERYCONSTRAINT_SUBCATEGORY L"Subcategory"
|
|
#define FD_QUERYCONSTRAINT_RECURSESUBCATEGORY L"RecurseSubcategory"
|
|
#define FD_QUERYCONSTRAINT_VISIBILITY L"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)
|
|
#define FD_QUERYCONSTRAINT_COMCLSCONTEXT L"COMClsContext"
|
|
#define FD_QUERYCONSTRAINT_ROUTINGSCOPE L"RoutingScope"
|
|
|
|
// Common Provider specific Constraints values
|
|
#define FD_CONSTRAINTVALUE_TRUE L"TRUE"
|
|
#define FD_CONSTRAINTVALUE_FALSE L"FALSE"
|
|
#define FD_CONSTRAINTVALUE_RECURSESUBCATEGORY_TRUE FD_CONSTRAINTVALUE_TRUE
|
|
#define FD_CONSTRAINTVALUE_VISIBILITY_DEFAULT L"0"
|
|
#define FD_CONSTRAINTVALUE_VISIBILITY_ALL L"1"
|
|
#define FD_CONSTRAINTVALUE_COMCLSCONTEXT_INPROC_SERVER L"1"
|
|
#define FD_CONSTRAINTVALUE_COMCLSCONTEXT_LOCAL_SERVER L"4"
|
|
|
|
#define FD_CONSTRAINTVALUE_PAIRED L"Paired"
|
|
#define FD_CONSTRAINTVALUE_UNPAIRED L"UnPaired"
|
|
#define FD_CONSTRAINTVALUE_ALL L"All"
|
|
|
|
#define FD_CONSTRAINTVALUE_ROUTINGSCOPE_ALL L"All"
|
|
#define FD_CONSTRAINTVALUE_ROUTINGSCOPE_DIRECT L"Direct"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Provider inquiry constraints
|
|
#define FD_QUERYCONSTRAINT_PAIRING_STATE L"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
|
|
#define FD_QUERYCONSTRAINT_INQUIRY_TIMEOUT L"InquiryModeTimeout" // #seconds 6-600 supported, default is 300
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// PNP Provider specific Constraints
|
|
#define PROVIDERPNP_QUERYCONSTRAINT_INTERFACECLASS L"InterfaceClass"
|
|
#define PROVIDERPNP_QUERYCONSTRAINT_NOTPRESENT L"NotPresent"
|
|
#define PROVIDERPNP_QUERYCONSTRAINT_NOTIFICATIONSONLY L"NotifyOnly"
|
|
// PNP_CONSTRAINTVALUE_NOTPRESENT you want "not present" instances as well
|
|
// "FALSE" (default) you want only DIGCF_PRESENT instances.
|
|
// PNP Provider specific Constraints values
|
|
#define PNP_CONSTRAINTVALUE_NOTPRESENT FD_CONSTRAINTVALUE_TRUE
|
|
#define PNP_CONSTRAINTVALUE_NOTIFICATIONSONLY FD_CONSTRAINTVALUE_TRUE
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// SSDP Provider specific Constraints
|
|
#define PROVIDERSSDP_QUERYCONSTRAINT_TYPE L"Type"
|
|
#define PROVIDERSSDP_QUERYCONSTRAINT_CUSTOMXMLPROPERTY L"CustomXmlProperty"
|
|
|
|
// SSDP Provider specific Constraints values
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_ALL L"ssdp:all"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_ROOT L"upnp:rootdevice"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"urn:schemas-upnp-org:device:"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_SVC_PREFIX L"urn:schemas-upnp-org:service:"
|
|
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_LIGHTING SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"Lighting:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_REMINDER SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"Reminder:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_POWERDEVICE SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"PowerDevice:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_IGD SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"InternetGatewayDevice:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_WANDEVICE SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"WANDevice:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_LANDEVICE SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"LANDevice:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_WANCONNDEVICE SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"WANConnectionDevice:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_LUXMETER SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"Luxmeter:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_MDARNDR SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"MediaRenderer:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_DEV_MDASRVR SSDP_CONSTRAINTVALUE_TYPE_DEVICE_PREFIX L"MediaServer:1"
|
|
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_SVC_SCANNER SSDP_CONSTRAINTVALUE_TYPE_SVC_PREFIX L"Scanner:1"
|
|
#define SSDP_CONSTRAINTVALUE_TYPE_SVC_DIMMING SSDP_CONSTRAINTVALUE_TYPE_SVC_PREFIX L"DimmingService:1"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// WSD Provider specific Constraints
|
|
#define PROVIDERWSD_QUERYCONSTRAINT_DIRECTEDADDRESS L"RemoteAddress"
|
|
#define PROVIDERWSD_QUERYCONSTRAINT_TYPE L"Type"
|
|
#define PROVIDERWSD_QUERYCONSTRAINT_SCOPE L"Scope"
|
|
#define PROVIDERWSD_QUERYCONSTRAINT_SECURITY_REQUIREMENTS L"SecurityRequirements"
|
|
#define PROVIDERWSD_QUERYCONSTRAINT_SSL_CERT_FOR_CLIENT_AUTH L"SSLClientAuthCert"
|
|
|
|
// WSD provider specific Constraint values
|
|
#define WSD_CONSTRAINTVALUE_REQUIRE_SECURECHANNEL L"1"
|
|
#define WSD_CONSTRAINTVALUE_REQUIRE_SECURECHANNEL_AND_COMPACTSIGNATURE L"2"
|
|
#define WSD_CONSTRAINTVALUE_NO_TRUST_VERIFICATION L"3"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// NetBios Provider specific Constraints
|
|
#define PROVIDERWNET_QUERYCONSTRAINT_TYPE L"Type"
|
|
#define PROVIDERWNET_QUERYCONSTRAINT_PROPERTIES L"Properties"
|
|
#define PROVIDERWNET_QUERYCONSTRAINT_RESOURCETYPE L"ResourceType"
|
|
|
|
#define WNET_CONSTRAINTVALUE_TYPE_ALL L"All"
|
|
#define WNET_CONSTRAINTVALUE_TYPE_SERVER L"Server" // Default
|
|
#define WNET_CONSTRAINTVALUE_TYPE_DOMAIN L"Domain"
|
|
|
|
#define WNET_CONSTRAINTVALUE_PROPERTIES_ALL L"All"
|
|
#define WNET_CONSTRAINTVALUE_PROPERTIES_LIMITED L"Limited" // Default
|
|
|
|
#define WNET_CONSTRAINTVALUE_RESOURCETYPE_DISK L"Disk" // All non-printer shares (dwDisplayType == RESOURCEDISPLAYTYPE_SHARE and dwType != RESOURCETYPE_PRINT)
|
|
#define WNET_CONSTRAINTVALUE_RESOURCETYPE_PRINTER L"Printer" // All printer shares (dwDisplayType == RESOURCEDISPLAYTYPE_SHARE and dwType == RESOURCETYPE_PRINT)
|
|
#define WNET_CONSTRAINTVALUE_RESOURCETYPE_DISKORPRINTER L"DiskOrPrinter" // All shares (dwDisplayType == RESOURCEDISPLAYTYPE_SHARE)
|
|
|
|
#define ONLINE_PROVIDER_DEVICES_QUERYCONSTRAINT_OWNERNAME L"OwnerName"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Device Display Object Provider specific Constraints
|
|
#define PROVIDERDDO_QUERYCONSTRAINT_DEVICEFUNCTIONDISPLAYOBJECTS L"DeviceFunctionDisplayObjects"
|
|
#define PROVIDERDDO_QUERYCONSTRAINT_ONLYCONNECTEDDEVICES L"OnlyConnectedDevices"
|
|
#define PROVIDERDDO_QUERYCONSTRAINT_DEVICEINTERFACES L"DeviceInterfaces"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// PROPERTY Constraint defines
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef FDPropertyConstraint
|
|
typedef enum tagPropertyConstraint
|
|
{
|
|
QC_EQUALS = 0,
|
|
QC_NOTEQUAL = 1,
|
|
QC_LESSTHAN = 2,
|
|
QC_LESSTHANOREQUAL = 3,
|
|
QC_GREATERTHAN = 4,
|
|
QC_GREATERTHANOREQUAL = 5,
|
|
QC_STARTSWITH = 6, // Strings only
|
|
QC_EXISTS = 7,
|
|
QC_DOESNOTEXIST = 8,
|
|
QC_CONTAINS = 9 // Strings and VT_VECTOR only
|
|
} PropertyConstraint;
|
|
#endif
|
|
|
|
|