Tablet.PlugAndPlayId Property
Tablet.PlugAndPlayId Property |
Gets a string representation of the Plug and Play identifier of the Tablet object.
Definition
Visual Basic .NET Public ReadOnly Property PlugAndPlayId As String C# public string PlugAndPlayId { get; } Managed C++ public: __property String* get_PlugAndPlayId();
Property Value
System.String. The Plug and Play identifier of the Tablet object.
This property is read-only. This property has no default value.
Remarks
The return value is based upon the HIDD_ATTRIBUTES.ProductID element. The manufacturer of the tablet device is responsible for adding this string. The return value is empty if the tablet device does not have an identifier.
Examples
[C#]
This C# example reports on the properties in each Tablet object that is available in the Tablets collection, theTablets.
using Microsoft.Ink; // . . . public string ReportOnEachTablet() { Tablets theTablets = new Tablets(); string theReport = Environment.NewLine; // Iterate over the Tablet objects in the collection, reporting on each one. foreach (Tablet theTablet in theTablets) { theReport += "Tablet Name: " + theTablet.Name + Environment.NewLine; if (theTablets.DefaultTablet.Name.Equals(theTablet.Name)) theReport += "(Default)" + Environment.NewLine; theReport += "PlugAndPlayId: " + theTablet.PlugAndPlayId + Environment.NewLine; theReport += "HardwareCapabilities: " + theTablet.HardwareCapabilities.ToString() + Environment.NewLine; if ((theTablet.HardwareCapabilities & TabletHardwareCapabilities.CursorMustTouch) != 0) theReport += " CursorMustTouch" + Environment.NewLine; if ((theTablet.HardwareCapabilities & TabletHardwareCapabilities.CursorsHavePhysicalIds) != 0) theReport += " CursorsHavePhysicalIds" + Environment.NewLine; if ((theTablet.HardwareCapabilities & TabletHardwareCapabilities.HardProximity) != 0) theReport += " HardProximity" + Environment.NewLine; if ((theTablet.HardwareCapabilities & TabletHardwareCapabilities.Integrated) != 0) theReport += " Integrated" + Environment.NewLine; theReport += "MaximumInputRectangle " + theTablet.MaximumInputRectangle.ToString() + Environment.NewLine; // Report on each supported PacketProperty. theReport += "IsPacketPropertySupported:" + Environment.NewLine; theReport += GetProperty(theTablet, PacketProperty.AltitudeOrientation, "AltitudeOrientation"); theReport += GetProperty(theTablet, PacketProperty.AzimuthOrientation, "AzimuthOrientation"); theReport += GetProperty(theTablet, PacketProperty.ButtonPressure, "ButtonPressure"); theReport += GetProperty(theTablet, PacketProperty.NormalPressure, "NormalPressure"); theReport += GetProperty(theTablet, PacketProperty.PacketStatus, "PacketStatus"); theReport += GetProperty(theTablet, PacketProperty.PitchRotation, "PitchRotation"); theReport += GetProperty(theTablet, PacketProperty.RollRotation, "RollRotation"); theReport += GetProperty(theTablet, PacketProperty.SerialNumber, "SerialNumber"); theReport += GetProperty(theTablet, PacketProperty.TangentPressure, "TangentPressure"); theReport += GetProperty(theTablet, PacketProperty.TimerTick, "TimerTick"); theReport += GetProperty(theTablet, PacketProperty.TwistOrientation, "TwistOrientation"); theReport += GetProperty(theTablet, PacketProperty.X, "X"); theReport += GetProperty(theTablet, PacketProperty.XTiltOrientation, "XTiltOrientation"); theReport += GetProperty(theTablet, PacketProperty.Y, "Y"); theReport += GetProperty(theTablet, PacketProperty.YawRotation, "YawRotation"); theReport += GetProperty(theTablet, PacketProperty.YTiltOrientation, "YTiltOrientation"); theReport += GetProperty(theTablet, PacketProperty.Z, "Z"); theReport += Environment.NewLine; } return theReport; } public string GetProperty(Tablet theTablet, Guid theGuid, string name) { string theReport = ""; // If this particular property is supported, // report the name and property metrics information. if (theTablet.IsPacketPropertySupported(theGuid)) { TabletPropertyMetrics theMetrics = theTablet.GetPropertyMetrics(theGuid); theReport += " " + name + Environment.NewLine + " Max: " + theMetrics.Maximum.ToString() + Environment.NewLine + " Min: " + theMetrics.Minimum.ToString() + Environment.NewLine + " Resolution: " + theMetrics.Resolution.ToString() + Environment.NewLine + " Units: " + theMetrics.Units.ToString() + Environment.NewLine; } return theReport; }
[Visual Basic .NET]
This Microsoft® Visual Basic® .NET example reports on the properties in each Tablet object that is available in the Tablets collection, theTablets.
Imports Microsoft.Ink ' . . . Public Function ReportOnEachTablet() As String Dim theTablets As Tablets = New Tablets() Dim theReport As String theReport = vbCrLf 'Iterate over the Tablet objects in the collection, 'reporting on each one. Dim theTablet As Tablet For Each theTablet In theTablets theReport &= "Tablet Name: " & theTablet.Name & vbCrLf If theTablets.DefaultTablet.Name.Equals(theTablet.Name) Then theReport &= "(Default)" & vbCrLf End If theReport &= "PlugAndPlayId: " & theTablet.PlugAndPlayId & vbCrLf theReport &= "HardwareCapabilities: " & _ theTablet.HardwareCapabilities.ToString() & vbCrLf If (theTablet.HardwareCapabilities And _ TabletHardwareCapabilities.CursorMustTouch) <> 0 Then theReport &= " CursorMustTouch" & vbCrLf End If If (theTablet.HardwareCapabilities And _ TabletHardwareCapabilities.CursorsHavePhysicalIds) <> 0 Then theReport &= " CursorsHavePhysicalIds" & vbCrLf End If If (theTablet.HardwareCapabilities And _ TabletHardwareCapabilities.HardProximity) <> 0 Then theReport &= " HardProximity" & vbCrLf End If If (theTablet.HardwareCapabilities And _ TabletHardwareCapabilities.Integrated) <> 0 Then theReport &= " Integrated" & vbCrLf End If theReport &= "MaximumInputRectangle " & theTablet.MaximumInputRectangle.ToString() & vbCrLf 'Report on each supported PacketProperty. theReport &= "IsPacketPropertySupported:" & vbCrLf theReport &= GetProperty(theTablet, _ PacketProperty.AltitudeOrientation, _ "AltitudeOrientation") theReport &= GetProperty(theTablet, _ PacketProperty.AzimuthOrientation, _ "AzimuthOrientation") theReport &= GetProperty(theTablet, _ PacketProperty.ButtonPressure, "ButtonPressure") theReport &= GetProperty(theTablet, _ PacketProperty.NormalPressure, NormalPressure") theReport &= GetProperty(theTablet, _ PacketProperty.PacketStatus, "PacketStatus") theReport &= GetProperty(theTablet, _ PacketProperty.PitchRotation, PitchRotation") theReport &= GetProperty(theTablet, _ PacketProperty.RollRotation, "RollRotation") theReport &= GetProperty(theTablet, _ PacketProperty.SerialNumber, "SerialNumber") theReport &= GetProperty(theTablet, _ PacketProperty.TangentPressure, "TangentPressure") theReport &= GetProperty(theTablet, _ PacketProperty.TimerTick, "TimerTick") theReport &= GetProperty(theTablet, _ PacketProperty.TwistOrientation, "TwistOrientation") theReport &= GetProperty(theTablet, PacketProperty.X, "X") theReport &= GetProperty(theTablet, _ PacketProperty.XTiltOrientation, "XTiltOrientation") theReport &= GetProperty(theTablet, PacketProperty.Y, "Y") theReport &= GetProperty(theTablet, _ PacketProperty.YawRotation, "YawRotation") theReport &= GetProperty(theTablet, _ PacketProperty.YTiltOrientation, "YTiltOrientation") theReport &= GetProperty(theTablet, PacketProperty.Z, "Z") theReport &= vbCrLf Next Return theReport End Function Public Function GetProperty( _ ByVal theTablet As Tablet, _ ByVal theGuid As Guid, _ ByVal name As String) As String Dim theReport As String = "" ' If this particular property is supported, ' report the name and property metrics information. If theTablet.IsPacketPropertySupported(theGuid) Then Dim theMetrics As TabletPropertyMetrics = _ theTablet.GetPropertyMetrics(theGuid) theReport &= " " & name & vbCrLf & _ " Max: " & theMetrics.Maximum.ToString() & vbCrLf & _ " Min: " & theMetrics.Minimum.ToString() & vbCrLf & _ " Resolution: " & theMetrics.Resolution.ToString() & _ vbCrLf & _ " Units: " & theMetrics.Units.ToString() & vbCrLf End If Return theReport End Function