GetPacketValuesByProperty Method
GetPacketValuesByProperty Method |
Returns the data for a known packet property from one or more packets in the stroke.
Declaration
[C++]
HRESULT GetPacketValuesByProperty (
[in] BSTR propertyName,
[in, optional, defaultvalue(ISC_FirstElement)] long startingIndex,
[in, optional, defaultvalue(ISC_AllElements)] long pointCount,
[out, retval] VARIANT* PacketValues
);
[Microsoft® Visual Basic® 6.0]
Public Function GetPacketValuesByProperty( _
propertyName As String, _
[startingIndex As Long], _
[pointCount As Long = -1] _
) As Variant
Parameters
propertyName
[in] The identifier from the PacketProperty constants that was used to select which packet data is retrieved.
For more information about the BSTR data type, see Using the Automation Library.
startingIndex
[in, optional] The starting point of the zero-based index to a packet within the stroke. The default value ISC_FirstElement, defined in the ItemSelectionConstants enumeration type, specifies the first packet.
pointCount
[in, optional] The number of points that make up the stroke data. The default value ISC_AllElements, defined in the ItemSelectionConstants enumeration type, specifies all of the points that make up the stroke data.
PacketValues
[out, retval] Returns an array of signed 32-bit integers that specifies the value of the requested PacketProperty for each point requested from the stroke.
For more information about the VARIANT structure, see Using the Automation Library.
Return Value
HRESULT value | Description |
---|---|
S_OK | Success. |
TPC_E_INVALID_STROKE | The stroke is invalid. |
E_POINTER | A parameter contained an invalid pointer. |
E_FAIL | An unspecified error occurred. |
E_OUTOFMEMORY | Cannot allocate packet data array. |
E_INVALIDARG | Invalid index, count, or packet property. |
E_INK_EXCEPTION | An exception occurred inside the method. |
CO_E_CLASSSTRING | Invalid GUID format. |
Remarks
A specific packet property may not be available on a particular IInkStrokeDisp object. A Tablet PC may have more than one tablet for user input. The InkTablets collection contains a list of all the tablets attached to the Tablet PC. Use the IsPacketPropertySupported method to determine if a particular packet property is supported by a specific IInkTablet object or by all the available tablets. Also, use the DesiredPacketDescription property of the ink collector to control which packet properties are collected on new strokes.
Example
[Visual Basic 6.0]
This Visual Basic 6.0 example gets the ButtonPressure (a Guid string defined in module InkConstants.bas) for every point in the IInkStrokeDisp, theStroke.
Dim theButtonPressureData() As Long
theButtonPressureData = _
theStroke.GetPacketValuesByProperty(ButtonPressure)
Applies To
Related Topics
- PacketProperty Constants
- IInkTablet Class
- InkTablets Class
- ItemSelectionConstants Enumeration
- IInkTablet::IsPacketPropertySupported Method
- InkTablets::IsPacketPropertySupported Method
- InkCollector::DesiredPacketDescription Property
- InkOverlay::DesiredPacketDescription Property
- InkPicture::DesiredPacketDescription Property