IRealTimeStylus::GetPacketDescriptionData 方法 (rtscom.h)
检索数据包属性和缩放因子。
语法
HRESULT GetPacketDescriptionData(
[in] TABLET_CONTEXT_ID tcid,
[in, out] FLOAT *pfInkToDeviceScaleX,
[in, out] FLOAT *pfInkToDeviceScaleY,
[in, out] ULONG *pcPacketProperties,
[out] PACKET_PROPERTY **ppPacketProperties
);
参数
[in] tcid
指定平板电脑上下文标识符。
[in, out] pfInkToDeviceScaleX
指定水平轴从墨迹空间到数字化器坐标的转换因子。
[in, out] pfInkToDeviceScaleY
指定垂直轴从墨迹空间到数字化器坐标的转换因子。
[in, out] pcPacketProperties
每个数据包中的属性数。
[out] ppPacketProperties
指向包含每个数据包属性的 GUID 和属性指标的数组的指针。
返回值
有关返回值的说明,请参阅 RealTimeStylus 类和接口。
注解
如果不需要缩放参数,可以传递 NULL 。
IRealTimeStylus::GetPacketDescriptionData 方法使用 CoTaskMemAlloc 为 ppPacketProperties 分配空间。 当不再需要数组时,调用方应调用 CoTaskMemFree 。
发送到插件的数据流中的属性顺序与 IRealTimeStylus::GetPacketDescriptionData 方法返回的属性顺序相同。 使用此方法可确定硬件报告的内容与调用 IRealTimeStylus::SetDesiredPacketDescription 方法时所请求的硬件。
示例
此 C++ 代码示例使用 IRealTimeStylus::GetPacketDescriptionData 方法 获取有关墨迹数据包数据的信息。
STDMETHODIMP CCustomRenderer::StylusUp(
/* [in] */ IRealTimeStylus *piRtsSrc,
/* [in] */ const StylusInfo *pStylusInfo,
/* [in] */ ULONG cPropCountPerPkt,
/* [size_is][in] */ LONG *pPacket,
/* [out][in] */ LONG **ppInOutPkt)
{
TABLET_CONTEXT_ID *pTcids;
ULONG ulTcidCount;
TABLET_CONTEXT_ID tcid;
FLOAT fInkToDeviceScaleX;
FLOAT fInkToDeviceScaleY;
ULONG ulPacketProperties;
PACKET_PROPERTY *pPacketProperties;
// Get all the tablet context identifiers
HRESULT hr = piRtsSrc->GetAllTabletContextIds(&ulTcidCount, &pTcids);
// Use the first tablet context identifier in the array
tcid = *pTcids;
// Get the packet description data
hr = piRtsSrc->GetPacketDescriptionData(tcid, &fInkToDeviceScaleX,
&fInkToDeviceScaleY, &ulPacketProperties,
&pPacketProperties);
// Use the packet description data to do things like scale the ink
// to the physical display device when rendering your own strokes
return S_OK;
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 | 无受支持的版本 |
目标平台 | Windows |
标头 | rtscom.h |
DLL | RTSCom.dll |
另请参阅
IRealTimeStylus::GetDesiredPacketDescription 方法