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 方法