Метод IRealTimeStylus::GetDesiredPacketDescription (rtscom.h)
Извлекает список свойств, которые были запрошены для включения в поток пакетов.
Синтаксис
HRESULT GetDesiredPacketDescription(
[in, out] ULONG *pcProperties,
[out] GUID **ppPropertyGuids
);
Параметры
[in, out] pcProperties
Размер буфера ppPropertyGUIDS в байтах .
[out] ppPropertyGuids
Указатель на список идентификаторов GUID, указывающих, какие свойства, такие как X, Y и NormalPressure, присутствуют в данных пакета. Список предопределенных свойств см. в разделе Константы PacketPropertyGuids.
Возвращаемое значение
Описание возвращаемых значений см. в разделе Классы и интерфейсы RealTimeStylus.
Комментарии
Используйте этот метод, чтобы получить массив свойств пакета, на который подписан объект IRealTimeStylus , вызвав метод IRealTimeStylus::SetDesiredPacketDescription. Свойства пакета представлены массивом глобальных уникальных идентификаторов (GUID). Полный список свойств, для которых можно получить метрики, см. в разделе Константы PacketPropertyGuids.
По умолчанию используется массив GUID, содержащий идентификаторы X, Y и нормального давления.
Метод IRealTimeStylus::GetDesiredPacketDescription использует CoTaskMemAlloc для выделения пространства для guid. Вызывающий объект должен вызывать CoTaskMemFree , если массив больше не нужен.
При вызове для дочернего объекта IRealTimeStylus (каскадной конфигурации) и подключении этот метод возвращает описание родительского пакета при подключении. В противном случае этот метод возвращает свойства по умолчанию (X, Y, pressure) или любые другие свойства, заданные в предыдущем вызове метода IRealTimeStylus::SetDesiredPacketDescription.
В следующем списке показано, как объект IRealTimeStylus упорядочивает guid свойства пакета.
- По умолчанию метод IRealTimeStylus::GetDesiredPacketDescription возвращает GUID_X, GUID_Y и GUID_NORMAL_PRESSURE.
- Идентификаторы GUID X и Y всегда возвращаются в первых двух позициях массива методом метода IRealTimeStylus::GetDesiredPacketDescription , независимо от того, были ли они указаны в предыдущем вызове метода IRealTimeStylus::SetDesiredPacketDescription .
- Если GUID_PACKET_STATUS указан в вызове метода IRealTimeStylus::SetDesiredPacketDescription , GUID_PACKET_STATUS всегда возвращается в последней позиции в массиве методом IRealTimeStylus::GetDesiredPacketDescription .
- Если в вызове метода IRealTimeStylus::SetDesiredPacketDescription указаны какие-либо идентификаторы GUID более одного раза, то каждый GUID встречается только один раз в массиве, возвращаемом методом IRealTimeStylus::GetDesiredPacketDescription .
Примеры
В следующем примере кода C++ возвращается список свойств, включенных в поток пакетов.
GUID guidDesiredPacketDescription[] = { GUID_PACKETPROPERTY_GUID_X,
GUID_PACKETPROPERTY_GUID_Y,
GUID_PACKETPROPERTY_GUID_NORMAL_PRESSURE,
GUID_PACKETPROPERTY_GUID_TANGENT_PRESSURE };
// Number of properties in the array
ULONG ulProperties = sizeof(guidDesiredPacketDescription) / sizeof(GUID);
// Set the packet information we'd like to get
if (SUCCEEDED(g_pRealTimeStylus->SetDesiredPacketDescription(ulProperties, guidDesiredPacketDescription)))
{
TRACE("Set the desired packet description successfully.\n");
}
GUID* pGuids = NULL;
// See if setting the properties was successful
if (SUCCEEDED(g_pRealTimeStylus->GetDesiredPacketDescription(&ulProperties, &pGuids)))
{
TRACE("The RealTimeStylus supports %d properties.\n", ulProperties);
// Display the values of the GUIDs in debug output
for (int i = 0; i < ulProperties; i++)
{
TRACE("GUID #%d == %d\n", i, pGuids[i]);
}
}
Требования
Минимальная версия клиента | Windows XP Tablet PC Edition [только классические приложения] |
Минимальная версия сервера | Ни одна версия не поддерживается |
Целевая платформа | Windows |
Header | rtscom.h |
DLL | RTSCom.dll |
См. также раздел
Метод IRealTimeStylus::SetDesiredPacketDescription
Класс RealTimeStylus