IDXGIOutputDuplication::GetFrameMoveRects-Methode (dxgi1_2.h)
Ruft Informationen zu den verschobenen Rechtecken für den aktuellen Desktopframe ab.
Syntax
HRESULT GetFrameMoveRects(
[in] UINT MoveRectsBufferSize,
[out] DXGI_OUTDUPL_MOVE_RECT *pMoveRectBuffer,
[out] UINT *pMoveRectsBufferSizeRequired
);
Parameter
[in] MoveRectsBufferSize
Die Größe des Puffers in Bytes, den der Aufrufer an den Parameter pMoveRectBuffer übergeben hat.
[out] pMoveRectBuffer
Ein Zeiger auf ein Array von DXGI_OUTDUPL_MOVE_RECT Strukturen, das die verschobenen Rechteckbereiche für den Desktopframe identifiziert.
[out] pMoveRectsBufferSizeRequired
Zeiger auf eine Variable, die die Anzahl von Bytes empfängt, die GetFrameMoveRects benötigt, um Informationen zu verschobenen Regionen im Puffer bei pMoveRectBuffer zu speichern.
Weitere Informationen zum Zurückgeben der erforderlichen Puffergröße finden Sie unter Hinweise.
Rückgabewert
GetFrameMoveRects gibt Folgendes zurück:
- S_OK, ob Informationen zu verschobenen Rechtecken 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
- DXGI_ERROR_MORE_DATA, wenn der Puffer, den die aufrufende Anwendung bereitgestellt hat, nicht groß genug ist.
- DXGI_ERROR_INVALID_CALL, wenn die Anwendung GetFrameMoveRects aufgerufen hat , ohne das Desktopimage zu besitzen.
- E_INVALIDARG, wenn einer der Parameter für GetFrameMoveRects falsch ist; Beispiel: pMoveRectBuffer ist NULL.
- Möglicherweise weitere Fehlercodes, die im Thema DXGI_ERROR beschrieben werden.
Hinweise
GetFrameMoveRects speichert einen Größenwert in der Variablen unter pMoveRectsBufferSizeRequired. Dieser Wert gibt die Anzahl von Bytes an, die GetFrameMoveRects benötigt, um Informationen zu verschobenen Regionen zu speichern. Sie können diesen 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 pMoveRectBuffer übergeben:
- GetFrameMoveRects schlägt mit DXGI_ERROR_MORE_DATA fehl, da der Puffer nicht groß genug ist.
- GetFrameMoveRects stellt einen Puffer bereit, der größer als erforderlich ist. Der bei pMoveRectsBufferSizeRequired zurückgegebene Größenwert informiert den Aufrufer darüber, wie viel Pufferspeicher tatsächlich verwendet wurde im Vergleich zu dem Pufferspeicher, den der Aufrufer zugeordnet und im MoveRectsBufferSize-Parameter angegeben hat.
Der Puffer enthält die Liste der Verschiebungs-RECTs für den aktuellen Frame.
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 |