IVMRWindowlessControl ::GetCurrentImage, méthode (strmif.h)
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
La GetCurrentImage
méthode récupère une copie de l’image actuelle affichée par le VMR.
Syntaxe
HRESULT GetCurrentImage(
[out] BYTE **lpDib
);
Paramètres
[out] lpDib
Adresse d’un pointeur vers un tableau BYTE.
Valeur retournée
Si la méthode réussit, retourne S_OK. En cas d'échec, retourne un code d'erreur.
Code de retour | Description |
---|---|
|
Le VMR n’est pas en mode sans fenêtre. |
Remarques
Cette méthode retourne l’image actuelle affichée. L’image est retournée sous la forme d’une DIB Windows empaquetée. L’image commence par une structure BITMAPINFOHEADER , éventuellement avec des entrées de palette et/ou des masques de couleur, suivie des données de l’image.
Le VMR alloue la mémoire pour l’image et retourne un pointeur vers celle-ci dans la variable lpDib . L’appelant doit libérer la mémoire en appelant CoTaskMemFree.
Cette méthode peut être appelée à tout moment, quel que soit l’état du filtre, qu’il soit en cours d’exécution, arrêté ou suspendu. Toutefois, les appels fréquents à cette méthode dégradent les performances de lecture vidéo.
Exemples
C++ |
---|
BYTE *lpDib = NULL; hr = pWindowlessControl->GetCurrentImage(&lpDib); if (SUCCEEDED(hr)) { BITMAPINFOHEADER *pBMIH = (BITMAPINFOHEADER*)lpDib; /* .... */ CoTaskMemFree(lpDib); } |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP avec SP1 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | strmif.h (include Dshow.h) |
Bibliothèque | Strmiids.lib |