Compartir a través de


Método IVMRWindowlessControl::GetCurrentImage (strmif.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El GetCurrentImage método recupera una copia de la imagen actual que el VMR muestra.

Sintaxis

HRESULT GetCurrentImage(
  [out] BYTE **lpDib
);

Parámetros

[out] lpDib

Dirección de un puntero a una matriz BYTE.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, devuelve un código de error.

Código devuelto Descripción
VFW_E_WRONG_STATE
VmR no está en modo sin ventanas.

Comentarios

Este método devuelve la imagen actual que se muestra. La imagen se devuelve en forma de DIB de Windows empaquetado. La imagen comienza con una estructura BITMAPINFOHEADER , posiblemente incluidas las entradas de paleta o máscaras de color, seguidas de los datos de imagen.

VmR asigna la memoria para la imagen y devuelve un puntero a ella en la variable lpDib . El autor de la llamada debe liberar la memoria llamando a CoTaskMemFree.

Se puede llamar a este método en cualquier momento, independientemente del estado en el que se encuentra el filtro, ya sea en ejecución, detenido o en pausa. Sin embargo, las llamadas frecuentes a este método degradarán el rendimiento de la reproducción de vídeo.

Ejemplos

C++
BYTE *lpDib = NULL;
hr = pWindowlessControl->GetCurrentImage(&lpDib);
if (SUCCEEDED(hr))
{
    BITMAPINFOHEADER *pBMIH = (BITMAPINFOHEADER*)lpDib;
    /* .... */
    CoTaskMemFree(lpDib);
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP1 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado strmif.h (incluye Dshow.h)
Library Strmiids.lib

Consulte también

Códigos de error y éxito

IvMRWindowlessControl (interfaz)

Uso del representador de mezcla de vídeos