Partager via


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
VFW_E_WRONG_STATE
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

Voir aussi

Codes d’erreur et de réussite

IVMRWindowlessControl, interface

Utilisation du convertisseur de mixage vidéo