CBaseControlVideo::GetStaticImage (Windows Embedded CE 6.0)
1/6/2010
A pure virtual method that derived classes override.
Syntax
virtual HRESULT GetStaticImage(
long* pBufferSize,
long* pDIBImage
) PURE;
Parameters
- pBufferSize
Size of the output buffer.
- pDIBImage
Pointer to output buffer.
Return Value
Returns an HRESULT value.
Remarks
Through the IBasicVideo Interface interface, an application can request that it be given a copy of the current image in a memory buffer (some renderers can return E_NOTIMPL to this if they do not support it).
The derived class determines how to retrieve the image. When the application calls CBaseControlVideo::GetStaticImage, it calls this pure virtual method that the derived class should override to implement it. This is also called by the CBaseControlVideo::GetCurrentImage member function.
The class provides a helper member function, CBaseControlVideo::CopyImage, that can be given a sample that contains an image, and the member function will copy the relevant section of it (based on the current source rectangle) into the output buffer supplied by the application.
DirectShow applications and DirectShow filters have different include file and link library requirements.
For more information, see Setting Up the Build Environment.
**The following example from the video renderer sample, SampVid, demonstrates an implementation of this member function in a derived class. In this example, m_pRenderer holds an object of a class derived from CBaseVideoRenderer Class.
// Return a copy of the current image in the video renderer
HRESULT CVideoText::GetStaticImage(long *pBufferSize,long *pDIBImage)
{
// Get any sample the renderer may be holding.
IMediaSample *pMediaSample = m_pRenderer->GetCurrentSample();
if (pMediaSample == NULL) {
return E_UNEXPECTED;
}
// Call the base class helper method to do the work.
HRESULT hr = CopyImage(pMediaSample, // Buffer containing image
&m_pRenderer->m_mtIn, // Type representing bitmap
pBufferSize, // Size of buffer for DIB
(BYTE*) pDIBImage); // Data buffer for output
pMediaSample->Release();
return hr;
}
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Note | Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements For more information, see Setting Up the Build Environment, Version 2.12 requires DXPAK 1.0 or later |