IRealTimeStylus::SetDesiredPacketDescription 方法 (rtscom.h)
请求要包含在数据包流中的属性。
语法
HRESULT SetDesiredPacketDescription(
[in] ULONG cProperties,
[in] const GUID *pPropertyGuids
);
参数
[in] cProperties
pPropertyGuids 参数指定的属性计数。 有效值介于 0 和 32(含)之间。
[in] pPropertyGuids
请求包含在数据包流中的属性的全局唯一标识符 (GUID 数组) 。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
事件按以下顺序接收实际的数据包属性。
数据包顺序 | 说明 |
---|---|
第 1 个位置 | 包含 属性的 x 坐标数据,而不管 X 是否在 DesiredPacketDescription 属性中指定。 |
第 2 个位置 | 包含属性的 y 坐标数据,而不考虑 Y 是否在 DesiredPacketDescription 属性中指定。 |
结束位置 | 包含数据包状态在 DesiredPacketDescription 属性中时的数据包状态。 |
注意IRealTimeStylus::GetPacketDescriptionData 方法的结果可能与 IRealTimeStylus::SetDesiredPacketDescription 方法属性不匹配,因为平板电脑可能不支持某些属性。
尝试为 cProperties 传递 0,为 pPropertyGuids 传递 NULL 将返回E_INVALIDARG。
对 IRealTimeStylus::SetDesiredPacketDescription 方法 方法方法的调用会立即反映在 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::GetDesiredPacketDescription 方法
IRealTimeStylus::GetPacketDescriptionData 方法
RealTimeStylus 类