CMemAllocator.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.

Syntax

HRESULT Alloc();

Parameters

This method has no parameters.

Return value

Returns one of the HRESULT values shown in the following table.

Return code Description
S_OK
Success.
E_OUTOFMEMORY
Insufficient memory.
VFW_E_SIZENOTSET
Buffer requirements were not set.

Remarks

This method is called by the CBaseAllocator::Commit method. It allocates a contiguous block of memory sufficient for the buffer requirements given in the CMemAllocator::SetProperties method.

Requirements

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

See also

CMemAllocator Class