Rediger

Del via


CBaseAllocator.Commit 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 Commit method allocates the memory for the buffers. This method implements the IMemAllocator::Commit method.

Syntax

HRESULT Commit();

Parameters

This method has no parameters.

Return value

Returns an HRESULT value. Possible values include those in the following list.

Return code Description
S_OK
Success.
VFW_E_SIZENOTSET
Buffer requirements were not specified.

Remarks

Before calling this method, call the CBaseAllocator::SetProperties method to specify the buffer requirements.

This method calls the virtual method CBaseAllocator::Alloc to allocate the memory for the buffers. Derived classes can override Alloc. If a decommit operation is pending, it is canceled.

You must call this method before calling the CBaseAllocator::GetBuffer method.

Requirements

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

See also

CBaseAllocator Class