PnP-X Provider PKEYs

[Function Discovery is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions.]

A PnP-X provider is a type of built-in provider. The SSDP and WSD providers implement the PnP-X provider type and the PnP-X PKEYs, in addition to implementing protocol-specific functionality and PKEYs. The values associated with the properties named below are supplied by the device in metadata messages.

PKEY_PNPX_GlobalIdentity

The UUID of the root device. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_Types

The types of messages sent or received, as described in the device's discovery message. PROPVARIANT type VT_VECTOR | VT_LPWSTR.

PKEY_PNPX_Scopes

The discoverable groups of network endpoints providing services to the device. PROPVARIANT type VT_VECTOR | VT_LPWSTR.

PKEY_PNPX_XAddrs

A list of XAddrs provided in the Hello, ProbeMatch, or ResolveMatch messages sent by the device. PROPVARIANT type VT_VECTOR | VT_LPWSTR.

PKEY_PNPX_MetadataVersion

The metadata version. This is a non-negative integer that is incremented on metadata change. Metadata includes types and scopes. PROPVARIANT type VT_UI8.

PKEY_PNPX_ID

The unique identifier of the device. For root devices, this property has the same value as PKEY_PNPX_GlobalIdentity. PROPVARIANT type VT_LPWSTR.

Note

Devices cannot share an identifier, even if the devices use different protocols. If a device implements more than one protocol, the device must have a unique identifier for each protocol.

PKEY_PNPX_RemoteAddress

The remote address of the device. The address is only populated by the WSD provider when the device is discovered by directed discovery. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_Manufacturer

A human-readable form of the name of the device manufacturer. This string can be localized. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_ManufacturerUrl

The URL of the device manufacturer's web site. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_ModelName

A human-readable form of the model name of the device. This string can be localized. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_ModelNumber

A human-readable form of the model number of the device. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_ModelUrl

The URL of the page containing the description of the device model. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_Upc

A human-readable form of the device product code. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_PresentationUrl

The presentation URL for a web page that controls the device. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_FriendlyName

The display name for the device. This string can be localized. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_FirmwareVersion

The firmware version for this device. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_SerialNumber

A human-readable form of the serial number of the device. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_DeviceCategory

The device category. PnP-X categories are the namespaces in which components that provide similar base functionality are grouped.

Each category has predefined keywords associated with it. These keywords are used to restrict the list of devices displayed in the Network Explorer. When the user types one of the predefined keywords into the Search Category box, Network Explorer displays only the items in the matching category.

Some categories have predefined subcategories. A subcategory can be specified in the device metadata, and its value will be stored in the PKEY_PNPX_DeviceCategory property key instead of the parent category value.

Subcategories are not displayed in the Network Explorer. Instead, a subcategory's parent category value is displayed. Subcategories can be queried programmatically, but they cannot be queried by the end-user.

Providers can define and use their own subcategories, but they cannot define their own categories.

The following table shows the possible device categories.

Name Value Description
PNPX_DEVICECATEGORY_COMPUTER L"Computers" Computers category.Keywords: Computer, Laptop, Tablet
Defined subcategories: Computers.PC, Computers.MediaCenter, Computers.Server
PNPX_DEVICECATEGORY_INPUTDEVICE L"Input" Input Devices category.Keywords: Keyboard, Mouse, Input
Defined subcategories: Input.Keyboard, Input.Mouse
PNPX_DEVICECATEGORY_PRINTER L"Printers" Printers category.Keyword: Printer
PNPX_DEVICECATEGORY_SCANNER L"Scanners" Scanners category.Keyword: Scanner
PNPX_DEVICECATEGORY_FAX L"FAX" FAX category.Keyword: FAX
PNPX_DEVICECATEGORY_MFP L"MFP" Multifunction Devices category.Keywords: Multifunction Device, MFP
PNPX_DEVICECATEGORY_CAMERA L"Cameras" Cameras category.Keywords: Camera, Video Camera, Digital Camera
Defined subcategories: Cameras.DigitalStillCamera, Cameras.VideoCamera
PNPX_DEVICECATEGORY_STORAGE L"Storage" Storage category.Keywords: Hard Drive, CD, CD-ROM, DVD, DVD-ROM, Flash, SD
Defined subcategory: Storage.NAS
PNPX_DEVICECATEGORY_NETWORK_INFRASTRUCTURE L"NetworkInfrastructure" Network Infrastructure category.Keywords: Hub, Switch, Gateway, Router, Access Point, Modem
Defined subcategories: NetworkInfrastructure.AccessPoint, NetworkInfrastructure.Router, NetworkInfrastructure.Switch
PNPX_DEVICECATEGORY_DISPLAYS L"Displays" Displays category.Keywords: Monitor, Projector, Television, Digital Picture Frame
Defined subcategory: Displays.Monitor
PNPX_DEVICECATEGORY_MULTIMEDIA_DEVICE L"MediaDevices" Media Devices category.Keywords: Music Player, Music Server, MP3 Player, WMA Player, Pika, Media Extender, Stereo, A/V Receiver, Cable, Satellite, DVR, Speakers
Defined subcategories: MediaDevices.DVR, MediaDevices.DAR, MediaDevices.MCE, MediaDevices.MusicPlayer
PNPX_DEVICECATEGORY_GAMING_DEVICE L"Gaming" Gaming Devices category.Keywords: Xbox, Controller, Joystick
Defined subcategories: Gaming.Xbox, Gaming.Xbox360
PNPX_DEVICECATEGORY_TELEPHONE L"Phones" Phones category.Keywords: Telephone, Cell Phone, Pager
Defined subcategories: Phones.CellPhone, Phones.WindowsMobile
PNPX_DEVICECATEGORY_HOME_AUTOMATION_SYSTEM L"HomeAutomation" Home Automation category.Keywords: Light, Thermostat, Heater, A/C, Air Conditioning
Defined subcategories: HomeAutomation.Light, HomeAutomation.Thermostat, HomeAutomation.Heater, HomeAutomation.AC
PNPX_DEVICECATEGORY_HOME_SECURITY_SYSTEM L"HomeSecurity" Home Security category.Keywords: Security, Home Security
PNPX_DEVICECATEGORY_OTHER L"Other" Other Devices category.There are no keywords or subcategories associated with this category.

PROPVARIANT type VT_LPWSTR | VT_VECTOR.

PKEY_PNPX_DeviceCategory_Desc

The category description. PROPVARIANT type VT_LPWSTR | VT_VECTOR.

PKEY_PNPX_PhysicalAddress

The physical address of the device on the network interface. PROPVARIANT type VT_UI1 | VT_VECTOR.

PKEY_PNPX_NetworkInterfaceLuid

The LUID of the network interface upon which the device was discovered. PROPVARIANT type VT_UI8.

PKEY_PNPX_NetworkInterfaceGuid

The GUID of the network interface upon which the device was discovered. PROPVARIANT type VT_CLSID.

PKEY_PNPX_IpAddress

The IP address of the device. PROPVARIANT type VT_LPWSTR | VT_VECTOR.

PKEY_PNPX_ServiceAddress

The address of a hosted service. The service information is derived from the relationship metadata provided by the device. PROPVARIANT type VT_LPWSTR | VT_VECTOR.

PKEY_PNPX_ServiceId

An identifier for a hosted service. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_ServiceTypes

The types of messages sent and received by a hosted service. PROPVARIANT type VT_LPWSTR | VT_VECTOR.

PKEY_PNPX_Devnode

The devnode. PROPVARIANT type VT_BOOL.

PKEY_PNPX_AssociationState

Specifies whether the device is associated with a computer. PROPVARIANT type VT_UINT.

PKEY_PNPX_AssociatedInstanceId

Specifies the instance identifier of the device associated with the computer. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_LastNotificationTime

The most recent time that the PnP-X service IP bus enumerator (IPBusEnum) saw or connected to a device. PROPVARIANT type VT_DATE.

PKEY_PNPX_DomainName

Specifies the domain name of the network to which the device is connected. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_ShareName

The share name. PROPVARIANT type VT_LPWSTR.

PKEY_PNPX_Installable

Specifies that the device can be installed using the user interface. A device is installable if a hardwareID or compatibleID is specified in the device description document. PROPVARIANT type VT_BOOL.

PKEY_PNPX_Installed

Specifies the installation state (installed or not installed). PROPVARIANT type VT_BOOL.

PKEY_PNPX_CompatibleTypes

Specifies the types of devices with which the PnP-X device is compatible. This PKEY may contain several values, listed in order from the most specific to the least specific device type.

If PKEY_PNPX_Installable is VARIANT_TRUE, the PKEY_PNPX_CompatibleTypes key is populated with the list of hardware identifiers and compatible identifiers provided by the device. The hardware identifiers precede the compatible identifiers in the identifier list.

If PKEY_PNPX_Installable is VARIANT_FALSE, the PKEY_PNPX_CompatibleTypes key is populated with the following for SSDP devices:

  • manufacturer + "/" + modelName + "/" modelNumber
  • manufacturer + "/" + modelName
  • deviceType

If PKEY_PNPX_Installable is VARIANT_FALSE, the PKEY_PNPX_CompatibleTypes key is populated with the following for WSD devices:

  • wsd:ThisModel/wsd:manufacturer + "/" + wsd:ThisModel/wsd:modelName + "/" + wsd:ThisModel/wsd:modelNumber
  • wsd:ThisModel/wsd:manufacturer + "/" + wsd:ThisModel/wsd:modelName
  • wsdisco:Types

PROPVARIANT type VT_VECTOR | VT_LPWSTR.

PKEY_PNPX_SecureChannel

Specifies whether the device uses HTTPS for metadata exchange and service messaging. PROPVARIANT type VT_BOOL.

PKEY_PNPX_CompactSignature

Specifies whether the device uses HTTPS for metadata exchange and service messaging and signs discovery messages using the compact signature format. PROPVARIANT type VT_BOOL.

Requirements

Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2008 [desktop apps only]
Header
FunctionDiscoveryKeys.h

See also

Key Definitions