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


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

Метод IRealTimeStylus::SetDesiredPacketDescription

Класс RealTimeStylus