IRealTimeStylus::GetDesiredPacketDescription メソッド (rtscom.h)
パケット ストリームに含めるよう要求されたプロパティの一覧を取得します。
構文
HRESULT GetDesiredPacketDescription(
[in, out] ULONG *pcProperties,
[out] GUID **ppPropertyGuids
);
パラメーター
[in, out] pcProperties
ppPropertyGUIDS バッファーのサイズ (バイト単位)。
[out] ppPropertyGuids
パケット データに存在するプロパティ (X、Y、NormalPressure など) を指定する GUID の一覧へのポインター。 定義済みのプロパティの一覧については、「 PacketPropertyGuids 定数」を参照してください。
戻り値
戻り値の詳細については、「 RealTimeStylus クラスとインターフェイス」を参照してください。
解説
IRealTimeStylus オブジェクトがサブスクライブしているパケット プロパティの配列を取得するには、このメソッドを使用して IRealTimeStylus::SetDesiredPacketDescription メソッドを呼び出します。 パケット プロパティは、グローバル一意識別子 (GUID) の配列で表されます。 メトリックを取得できるプロパティの完全な一覧については、 PacketPropertyGuids 定数に関するページを参照してください。
既定値は、X、Y、および標準圧力 GUID を含む GUID の配列です。
IRealTimeStylus::GetDesiredPacketDescription メソッドは、CoTaskMemAlloc を使用して GUID の領域を割り当てます。 配列が不要になった場合、呼び出し元は CoTaskMemFree を呼び出す必要があります。
子 IRealTimeStylus オブジェクト (カスケード構成) で呼び出され、接続されている場合、このメソッドは親のパケットの説明を返します (接続されている場合)。それ以外の場合、このメソッドは IRealTimeStylus::SetDesiredPacketDescription メソッドの以前の呼び出しで設定された既定のプロパティ (X、Y、圧力) またはプロパティを返します。
次の一覧では、 IRealTimeStylus オブジェクトがパケット プロパティ GUID を順序付けする方法について説明します。
- 既定では、 IRealTimeStylus::GetDesiredPacketDescription メソッド は、GUID_X、GUID_Y、およびGUID_NORMAL_PRESSUREを返します。
- X GUID と Y GUID は、 IRealTimeStylus::GetDesiredPacketDescription メソッド によって配列内の最初の 2 つの位置で常に返されます。 IRealTimeStylus::SetDesiredPacketDescription メソッド の以前の呼び出しで指定されたかどうか。
- IRealTimeStylus::SetDesiredPacketDescription メソッドの呼び出しでGUID_PACKET_STATUSが指定されている場合、GUID_PACKET_STATUSは常に IRealTimeStylus::GetDesiredPacketDescription メソッドによって配列内の最後の位置に返されます。
- IRealTimeStylus::SetDesiredPacketDescription メソッドの呼び出しで GUID が複数回指定されている場合、各 GUID は IRealTimeStylus::GetDesiredPacketDescription メソッドによって返される配列内で 1 回だけ発生します。
例
次の 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 クラス