CImageAllocator.Alloc method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The Alloc method allocates memory for the buffers. This method overrides the CBaseAllocator::Alloc method.

Syntax

HRESULT Alloc();

Parameters

This method has no parameters.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
S_OK
Success
E_OUTOFMEMORY
Insufficient memory

Remarks

This method is called by the CBaseAllocator::Commit method, when the filter commits the allocator.

This method creates a list of media samples, which are implemented as CImageSample objects. Each sample contains a GDI device-independent bitmap, using the GDI CreateDIBSection function.

Internally this method calls CImageAllocator::CreateDIB to create each DIB, and CImageAllocator::CreateImageSample to create each sample.

Requirements

Requirement Value
Header
Winutil.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CImageAllocator Class