Freigeben über


SkipPointerFrameMessages-Funktion (winuser.h)

Bestimmt, welcher Zeigereingaberahmen die zuletzt abgerufene Nachricht für den angegebenen Zeiger generiert hat, und verwirft alle Warteschlangen (nicht wiederholte) Zeigereingabenachrichten, die aus demselben Zeigereingaberahmen generiert wurden. Wenn eine Anwendung Informationen für einen gesamten Frame mithilfe der GetPointerFrameInfo-Funktion , der GetPointerFrameInfoHistory-Funktion oder einer ihrer typspezifischen Varianten abgerufen hat, kann sie diese Funktion verwenden, um zu vermeiden, dass verbleibende Nachrichten einzeln aus diesem Frame abgerufen und verworfen werden.

Syntax

BOOL SkipPointerFrameMessages(
  [in] UINT32 pointerId
);

Parameter

[in] pointerId

Bezeichner des Zeigers. Ausstehende Nachrichten werden für den Frame übersprungen, der die zuletzt abgerufene Eingabe für diesen Zeiger enthält.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich 0 (null).

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Geräte im Parallelmodus können Zeigereingaben in Frames melden, d. h., sie können den Zustand und die Position aller Zeiger von diesem Gerät in einem einzelnen Eingabebericht an das System melden. Im Idealfall sollten Anwendungen den gesamten Frame als einzelne Eingabe anzeigen, es sei denn, die anwendungsspezifischen Anforderungen sehen etwas anderes vor.

Die SkipPointerFrameMessages-Funktion kann in Verbindung mit der GetPointerFrameInfo-Funktion (oder einer ihrer typspezifischen Varianten) verwendet werden, um ganze Frames als einzelne Eingabe zu nutzen.

Wenn eine Anwendung eine Zeigermeldung sieht, kann sie die GetPointerFrameInfo-Funktion verwenden, um den gesamten Zeigereingaberahmen abzurufen, zu dem die Zeigernachricht gehört, wodurch eine aktualisierte Ansicht aller Zeiger abgerufen wird, die sich derzeit im Besitz des Fensters befinden. Beachten Sie, dass der zurückgegebene Frame nur Zeiger enthält, die sich derzeit im Besitz desselben Fensters wie der angegebene Zeiger befinden.

Nachdem sie den gesamten Datenrahmen abgerufen hat, kann die Anwendung dann die SkipPointerFrameMessages-Funktion aufrufen, um die verbleibenden Zeigermeldungen zu überspringen, die diesem Frame zugeordnet sind und ausstehen. Dies spart der Anwendung den Mehraufwand beim Abrufen und Verarbeiten der verbleibenden Nachrichten nacheinander.

Warnung Die SkipPointerFrameMessages-Funktion sollte nur verwendet werden, wenn der Aufrufer sicher sein kann, dass keine andere Entität im Thread des Aufrufers (z. B. direkte Bearbeitung) ausstehende Zeigernachrichten erwartet. Aus diesem Grund sollte SkipPointerFrameMessages nicht in Verbindung mit der direkten Manipulation verwendet werden, wenn mehrere gleichzeitige Interaktionen verarbeitet werden.
 
Beachten Sie, dass die abgerufenen Informationen dem zeigerframe zugeordnet sind, der zuletzt vom aufrufenden Thread abgerufen wurde. Sobald der aufrufende Thread seine nächste Nachricht abruft, sind die Informationen, die dem vorherigen Zeigerframe zugeordnet sind, möglicherweise nicht mehr verfügbar.

Wenn der Zeigerrahmen neben dem angegebenen Zeiger keine zusätzlichen Zeiger enthält, ist diese Funktion ohne Aktion erfolgreich.

Wenn der aufrufende Thread nicht besitzer des Fensters ist, in das die Zeigernachricht übermittelt wurde, schlägt diese Funktion fehl, wobei der letzte Fehler auf ERROR_ACCESS_DENIED festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll

Siehe auch

Funktionen