Поделиться через


Метод 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

Метод IRealTimeStylus::GetDesiredPacketDescription

Метод IRealTimeStylus::SetDesiredPacketDescription

Класс RealTimeStylus