Freigeben über


IRealTimeStylus::GetPacketDescriptionData-Methode (rtscom.h)

Ruft die Paketeigenschaften und Skalierungsfaktoren ab.

Syntax

HRESULT GetPacketDescriptionData(
  [in]      TABLET_CONTEXT_ID tcid,
  [in, out] FLOAT             *pfInkToDeviceScaleX,
  [in, out] FLOAT             *pfInkToDeviceScaleY,
  [in, out] ULONG             *pcPacketProperties,
  [out]     PACKET_PROPERTY   **ppPacketProperties
);

Parameter

[in] tcid

Gibt den Tablet-Kontextbezeichner an.

[in, out] pfInkToDeviceScaleX

Gibt den Konvertierungsfaktor für die horizontale Achse von Freihandraum zu Digitizerkoordinaten an.

[in, out] pfInkToDeviceScaleY

Gibt den Konvertierungsfaktor für die vertikale Achse von Freihandraum zu Digitizerkoordinaten an.

[in, out] pcPacketProperties

Die Anzahl der Eigenschaften in jedem Paket.

[out] ppPacketProperties

Zeiger auf ein Array, das die GUIDs und Eigenschaftenmetriken für jede Paketeigenschaft enthält.

Rückgabewert

Eine Beschreibung der Rückgabewerte finden Sie unter RealTimeStylus-Klassen und -Schnittstellen.

Hinweise

Sie können NULL übergeben, wenn Sie die Skalierungsparameter nicht möchten.

Die IRealTimeStylus::GetPacketDescriptionData-Methode verwendet CoTaskMemAlloc , um Speicherplatz für ppPacketProperties zuzuweisen. Der Aufrufer sollte CoTaskMemFree aufrufen, wenn das Array nicht mehr benötigt wird.

Die Reihenfolge der Eigenschaften im Datenstrom, der an Plug-Ins gesendet wird, entspricht der Reihenfolge der von der IRealTimeStylus::GetPacketDescriptionData-Methode zurückgegebenen Eigenschaften. Verwenden Sie diese Methode, um zu ermitteln, was die Hardware meldet und was beim Aufrufen der IRealTimeStylus::SetDesiredPacketDescription-Methode angefordert wurde.

Beispiele

In diesem C++-Codebeispiel wird die IRealTimeStylus::GetPacketDescriptionData-Methode verwendet, um Informationen zu den Freihandpaketdaten abzurufen.

STDMETHODIMP CCustomRenderer::StylusUp( 
            /* [in] */ IRealTimeStylus *piRtsSrc,
            /* [in] */ const StylusInfo *pStylusInfo,
            /* [in] */ ULONG cPropCountPerPkt,
            /* [size_is][in] */ LONG *pPacket,
            /* [out][in] */ LONG **ppInOutPkt)
{
TABLET_CONTEXT_ID *pTcids;
ULONG ulTcidCount;
TABLET_CONTEXT_ID tcid;
FLOAT fInkToDeviceScaleX;
FLOAT fInkToDeviceScaleY;
ULONG ulPacketProperties;
PACKET_PROPERTY *pPacketProperties;

// Get all the tablet context identifiers
HRESULT hr = piRtsSrc->GetAllTabletContextIds(&ulTcidCount, &pTcids);

// Use the first tablet context identifier in the array
tcid = *pTcids;

// Get the packet description data
hr = piRtsSrc->GetPacketDescriptionData(tcid, &fInkToDeviceScaleX, 
                                        &fInkToDeviceScaleY, &ulPacketProperties,
                                        &pPacketProperties);

// Use the packet description data to do things like scale the ink 
// to the physical display device when rendering your own strokes

	return S_OK;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile rtscom.h
DLL RTSCom.dll

Weitere Informationen

IRealTimeStylus

IRealTimeStylus::GetDesiredPacketDescription-Methode

IRealTimeStylus::SetDesiredPacketDescription-Methode

RealTimeStylus-Klasse