Metodo IDXGIOutputDuplication::GetFrameDirtyRects (dxgi1_2.h)
Ottiene informazioni sui rettangoli dirty per il frame desktop corrente.
Sintassi
HRESULT GetFrameDirtyRects(
[in] UINT DirtyRectsBufferSize,
[out] RECT *pDirtyRectsBuffer,
[out] UINT *pDirtyRectsBufferSizeRequired
);
Parametri
[in] DirtyRectsBufferSize
Dimensione in byte del buffer passata dal chiamante al parametro pDirtyRectsBuffer .
[out] pDirtyRectsBuffer
Puntatore a una matrice di strutture RECT che identifica le aree del rettangolo dirty per il frame desktop.
[out] pDirtyRectsBufferSizeRequired
Puntatore a una variabile che riceve il numero di byte che GetFrameDirtyRects deve archiviare informazioni sulle aree dirty nel buffer in pDirtyRectsBuffer.
Per altre informazioni sulla restituzione delle dimensioni del buffer necessarie, vedere Osservazioni.
Valore restituito
GetFrameDirtyRects restituisce:
- S_OK se sono state recuperate correttamente le informazioni sui rettangoli dirty.
- DXGI_ERROR_ACCESS_LOST se l'interfaccia di duplicazione desktop non è valida. L'interfaccia di duplicazione desktop in genere non è valida quando viene visualizzato un tipo diverso di immagine sul desktop. Ecco alcuni esempi di questa situazione:
- Commutatore desktop
- Modifica della modalità
- Passare da DWM su, DWM disattivato o da un'altra applicazione a schermo intero
- DXGI_ERROR_MORE_DATA se il buffer fornito dall'applicazione chiamante non è abbastanza grande.
- DXGI_ERROR_INVALID_CALL se l'applicazione denominata GetFrameDirtyRects senza possedere l'immagine desktop.
- E_INVALIDARG se uno dei parametri per GetFrameDirtyRects non è corretto; ad esempio, se pDirtyRectsBuffer è NULL.
- Possibilmente altri codici di errore descritti nell'argomento DXGI_ERROR .
Commenti
GetFrameDirtyRects archivia un valore di dimensione nella variabile in pDirtyRectsBufferSizeRequired. Questo valore specifica il numero di byte che GetFrameDirtyRects deve archiviare informazioni sulle aree dirty. È possibile usare questo valore nelle situazioni seguenti per determinare la quantità di memoria da allocare per i buffer futuri passati a pDirtyRectsBuffer:
- GetFrameDirtyRects ha esito negativo con DXGI_ERROR_MORE_DATA perché il buffer non è sufficientemente grande.
- GetFrameDirtyRects fornisce un buffer maggiore del necessario. Il valore di dimensione restituito in pDirtyRectsBufferSizeRequired informa il chiamante della quantità di spazio buffer effettivamente usata rispetto alla quantità di spazio buffer allocata e specificata dal chiamante nel parametro DirtyRectsBufferSize .
Il buffer contiene l'elenco di RECTdirty per il frame corrente.
Requisiti
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | dxgi1_2.h |
Libreria | Dxgi.lib |