Поделиться через


IWMReaderAdvanced::SetAllocateForOutput method (wmsdkidl.h)

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The SetAllocateForOutput method specifies whether the reader allocates its own buffers for output samples or gets buffers from your application.

Syntax

HRESULT SetAllocateForOutput(
  [in] DWORD dwOutputNum,
  [in] BOOL  fAllocate
);

Parameters

[in] dwOutputNum

DWORD containing the output number.

[in] fAllocate

Boolean value that is True if the reader gets buffers from your application.

Return value

If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.

Remarks

You can allocate your own buffers for file reading to reduce the overhead required by the reader object to allocate a new buffer for every sample. The reader object will make calls to the IWMReaderCallbackAdvanced::AllocateForOutput method.

If the application's callback implements the IWMReaderAllocatorEx interface, the AllocateForOutputEx method is called instead of AllocateForOutput.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only],Windows Media Format 7 SDK, or later versions of the SDK
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wmsdkidl.h (include Wmsdk.h)
Library Wmvcore.lib; WMStubDRM.lib (if you use DRM)

See also

IWMReaderAdvanced Interface

IWMReaderAdvanced::GetAllocateForOutput