Метод 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 |
Header | rtscom.h |
DLL | RTSCom.dll |
См. также раздел
Метод IRealTimeStylus::GetDesiredPacketDescription