次の方法で共有


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

IRealTimeStylus::SetDesiredPacketDescription メソッド

RealTimeStylus クラス