Partager via


IDXGIOutputDuplication::GetFramePointerShape, méthode (dxgi1_2.h)

Obtient des informations sur la nouvelle forme de pointeur pour le cadre de bureau actuel.

Syntaxe

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

Paramètres

[in] PointerShapeBufferSize

Taille en octets de la mémoire tampon que l’appelant a passée au paramètre pPointerShapeBuffer .

[out] pPointerShapeBuffer

Pointeur vers une mémoire tampon vers laquelle GetFramePointerShape copie et retourne des données de pixel pour la nouvelle forme de pointeur.

[out] pPointerShapeBufferSizeRequired

Pointeur vers une variable qui reçoit le nombre d’octets dont GetFramePointerShape a besoin pour stocker les nouvelles données de pixel de forme de pointeur dans la mémoire tampon sur pPointerShapeBuffer.

Pour plus d’informations sur le retour de la taille de mémoire tampon requise, consultez Remarques.

[out] pPointerShapeInfo

Pointeur vers une structure DXGI_OUTDUPL_POINTER_SHAPE_INFO qui reçoit les informations de forme du pointeur.

Valeur retournée

GetFramePointerShape retourne :

  • S_OK s’il a correctement récupéré des informations sur la nouvelle forme de pointeur.
  • DXGI_ERROR_ACCESS_LOST si l’interface de duplication du bureau n’est pas valide. L’interface de duplication du bureau devient généralement non valide lorsqu’un autre type d’image s’affiche sur le bureau. Voici quelques exemples de cette situation :
    • Commutateur de bureau
    • Changement de mode
    • Basculer à partir de DWM activé, DWM désactivé ou d’une autre application plein écran
    Dans ce cas, l’application doit libérer l’interface IDXGIOutputDuplication et créer un nouvel IDXGIOutputDuplication pour le nouveau contenu.
  • DXGI_ERROR_MORE_DATA si la mémoire tampon fournie par l’application appelante n’était pas assez grande.
  • DXGI_ERROR_INVALID_CALL si l’application a appelé GetFramePointerShape sans posséder l’image de bureau.
  • E_INVALIDARG si l’un des paramètres de GetFramePointerShape est incorrect ; par exemple, si pPointerShapeInfo a la valeur NULL.
  • Peut-être d’autres codes d’erreur décrits dans la rubrique DXGI_ERROR .

Notes

GetFramePointerShape stocke une valeur de taille dans la variable dans pPointerShapeBufferSizeRequired. Cette valeur spécifie le nombre d’octets dont pPointerShapeBufferSizeRequired a besoin pour stocker les nouvelles données de pixels de forme de pointeur. Vous pouvez utiliser la valeur dans les situations suivantes pour déterminer la quantité de mémoire à allouer pour les mémoires tampons futures que vous passez à pPointerShapeBuffer :

  • GetFramePointerShape échoue avec DXGI_ERROR_MORE_DATA, car la mémoire tampon n’est pas assez grande.
  • GetFramePointerShape fournit une mémoire tampon plus grande que nécessaire. La valeur de taille retournée dans pPointerShapeBufferSizeRequired informe l’appelant de la quantité d’espace tampon réellement utilisé par rapport à l’espace tampon alloué par l’appelant et spécifié dans le paramètre PointerShapeBufferSize .
Le paramètre pPointerShapeInfo décrit la nouvelle forme de pointeur.

Spécifications

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête dxgi1_2.h
Bibliothèque Dxgi.lib

Voir aussi

IDXGIOutputDuplication