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 常數。
預設值是包含 X、Y 和一般壓力 GUID 的 GUID 陣列。
IRealTimeStylus::GetDesiredPacketDescription 方法會使用CoTaskMemAlloc來配置 GUID 的空間。 當不再需要陣列時,呼叫端應該呼叫 CoTaskMemFree 。
如果在子 IRealTimeStylus 物件上呼叫 (串聯組態) 並聯機,則此方法會傳回父系的封包描述,否則此方法會傳回預設 (X、Y、壓力) 或任何在先前呼叫 IRealTimeStylus::SetDesiredPacketDescription 方法中設定的屬性。
下列清單描述 IRealTimeStylus 物件如何排序封包屬性 GUID。
- 根據預設, IRealTimeStylus::GetDesiredPacketDescription 方法 會傳回GUID_X、GUID_Y和GUID_NORMAL_PRESSURE。
- X 和 Y GUID 一律會由 IRealTimeStylus::GetDesiredPacketDescription 方法 方法傳回陣列中的前兩個位置,不論它們是否在先前呼叫 IRealTimeStylus::SetDesiredPacketDescription 方法 中指定。
- 如果在呼叫 IRealTimeStylus::SetDesiredPacketDescription 方法 方法中指定GUID_PACKET_STATUS,則 IRealTimeStylus::GetDesiredPacketDescription 方法 方法一律會在陣列的最後一個位置傳回GUID_PACKET_STATUS。
- 如果在 呼叫 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 |
標頭 | rtscom.h |
Dll | RTSCom.dll |
另請參閱
IRealTimeStylus::SetDesiredPacketDescription 方法
RealTimeStylus 類別