Metodo IDXGIOutputDuplica::GetFramePointerShape (dxgi1_2.h)

Ottiene informazioni sulla nuova forma puntatore per la cornice desktop corrente.

Sintassi

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

Parametri

[in] PointerShapeBufferSize

Dimensioni in byte del buffer passato dal chiamante al parametro pPointerShapeBuffer .

[out] pPointerShapeBuffer

Puntatore a un buffer in cui GetFramePointerShape copia e restituisce i dati pixel per la nuova forma del puntatore.

[out] pPointerShapeBufferSizeRequired

Puntatore a una variabile che riceve il numero di byte che GetFramePointerShape deve archiviare i nuovi dati dei pixel della forma puntatore nel buffer in pPointerShapeBuffer.

Per altre informazioni sulla restituzione delle dimensioni del buffer necessarie, vedere Osservazioni.

[out] pPointerShapeInfo

Puntatore a una struttura DXGI_OUTDUPL_POINTER_SHAPE_INFO che riceve le informazioni sulla forma del puntatore.

Valore restituito

GetFramePointerShape restituisce:

  • S_OK se ha recuperato correttamente informazioni sulla nuova forma del puntatore.
  • DXGI_ERROR_ACCESS_LOST se l'interfaccia di duplicazione desktop non è valida. L'interfaccia di duplicazione desktop diventa in genere non valida quando viene visualizzato un tipo diverso di immagine sul desktop. Esempi di questa situazione sono:
    • Commutatore desktop
    • Modifica della modalità
    • Passare da DWM su, DWM disattivato o da un'altra applicazione a schermo intero
    In questo caso, l'applicazione deve rilasciare l'interfaccia IDXGIOutputDuplicazione e creare un nuovo IDXGIOutputDuplicazione per il nuovo contenuto.
  • DXGI_ERROR_MORE_DATA se il buffer fornito dall'applicazione chiamante non era abbastanza grande.
  • DXGI_ERROR_INVALID_CALL se l'applicazione denominata GetFramePointerShape senza possedere l'immagine desktop.
  • E_INVALIDARG se uno dei parametri di GetFramePointerShape non è corretto; ad esempio, se pPointerShapeInfo è NULL.
  • Eventualmente altri codici di errore descritti nell'argomento DXGI_ERROR .

Commenti

GetFramePointerShape archivia un valore di dimensione nella variabile in pPointerShapeBufferSizeRequired. Questo valore specifica il numero di byte che pPointerShapeBufferSizeRequired deve archiviare i nuovi dati dei pixel della forma del puntatore. È possibile usare il valore nelle situazioni seguenti per determinare la quantità di memoria da allocare per i buffer futuri passati a pPointerShapeBuffer:

  • GetFramePointerShape non riesce con DXGI_ERROR_MORE_DATA perché il buffer non è abbastanza grande.
  • GetFramePointerShape fornisce un buffer più grande del necessario. Il valore delle dimensioni restituito in pPointerShapeBufferSizeRequired informa il chiamante della quantità di spazio del buffer effettivamente usato rispetto alla quantità di spazio del buffer allocata e specificata nel parametro PointerShapeBufferSize .
Il parametro pPointerShapeInfo descrive la nuova forma del puntatore.

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

Vedi anche

IDXGIOutputDuplicazione