Freigeben über


IDXGIOutputDuplication::GetFramePointerShape-Methode (dxgi1_2.h)

Ruft Informationen zur neuen Zeigerform für den aktuellen Desktopframe ab.

Syntax

HRESULT GetFramePointerShape(
  [in]  UINT                            PointerShapeBufferSize,
  [out] void                            *pPointerShapeBuffer,
  [out] UINT                            *pPointerShapeBufferSizeRequired,
  [out] DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo
);

Parameter

[in] PointerShapeBufferSize

Die Größe des Puffers in Bytes, den der Aufrufer an den Parameter pPointerShapeBuffer übergeben hat.

[out] pPointerShapeBuffer

Ein Zeiger auf einen Puffer, in den GetFramePointerShape Pixeldaten für die neue Zeigerform kopiert und zurückgibt.

[out] pPointerShapeBufferSizeRequired

Zeiger auf eine Variable, die die Anzahl von Bytes empfängt, die GetFramePointerShape benötigt, um die neuen Pixeldaten der Zeigerform im Puffer bei pPointerShapeBuffer zu speichern.

Weitere Informationen zum Zurückgeben der erforderlichen Puffergröße finden Sie unter Hinweise.

[out] pPointerShapeInfo

Zeiger auf eine DXGI_OUTDUPL_POINTER_SHAPE_INFO-Struktur , die die Zeiger-Shape-Informationen empfängt.

Rückgabewert

GetFramePointerShape gibt Folgendes zurück:

  • S_OK, ob Informationen zur neuen Zeigerform erfolgreich abgerufen wurden.
  • DXGI_ERROR_ACCESS_LOST, wenn die Desktopduplizierungsschnittstelle ungültig ist. Die Desktopduplizierungsschnittstelle wird in der Regel ungültig, wenn ein anderer Bildtyp auf dem Desktop angezeigt wird. Beispiele für diese Situation sind:
    • Desktopswitch
    • Modusänderung
    • Wechseln von DWM ein, DWM aus oder einer anderen Vollbildanwendung
    In diesem Fall muss die Anwendung die IDXGIOutputDuplication-Schnittstelle freigeben und eine neue IDXGIOutputDuplication für den neuen Inhalt erstellen.
  • DXGI_ERROR_MORE_DATA, wenn der Puffer, den die aufrufende Anwendung bereitgestellt hat, nicht groß genug war.
  • DXGI_ERROR_INVALID_CALL, wenn die Anwendung GetFramePointerShape aufgerufen hat , ohne das Desktopimage zu besitzen.
  • E_INVALIDARG, wenn einer der Parameter für GetFramePointerShape falsch ist; beispiel: pPointerShapeInfo ist NULL.
  • Möglicherweise weitere Fehlercodes, die im Thema DXGI_ERROR beschrieben werden.

Hinweise

GetFramePointerShape speichert einen Größenwert in der Variablen unter pPointerShapeBufferSizeRequired. Dieser Wert gibt die Anzahl der Bytes an, die pPointerShapeBufferSizeRequired benötigt, um die Pixeldaten der neuen Zeigerform zu speichern. Sie können den Wert in den folgenden Situationen verwenden, um die Menge an Arbeitsspeicher zu bestimmen, die für zukünftige Puffer zugewiesen werden soll, die Sie an pPointerShapeBuffer übergeben:

  • GetFramePointerShape schlägt mit DXGI_ERROR_MORE_DATA fehl, da der Puffer nicht groß genug ist.
  • GetFramePointerShape stellt einen puffer bereit, der größer als erforderlich ist. Der größenwert, der bei pPointerShapeBufferSizeRequired zurückgegeben wird, informiert den Aufrufer darüber, wie viel Pufferraum tatsächlich verwendet wurde im Vergleich zu dem Pufferraum, den der Aufrufer zugeordnet und im Parameter PointerShapeBufferSize angegeben hat.
Der pPointerShapeInfo-Parameter beschreibt die neue Zeigerform.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile dxgi1_2.h
Bibliothek Dxgi.lib

Weitere Informationen

IDXGIOutputDuplication