共用方式為


IWMWriter::AllocateSample 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 AllocateSample method allocates a buffer that can be used to provide samples to the writer.

Syntax

HRESULT AllocateSample(
  [in]  DWORD      dwSampleSize,
  [out] INSSBuffer **ppSample
);

Parameters

[in] dwSampleSize

DWORD containing the sample size, in bytes.

[out] ppSample

Pointer to a pointer to an INSSBuffer interface to an object containing the sample.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
NS_E_INVALID_REQUEST
The writer is not currently running.

Remarks

You must use a new buffer for each sample passed to the writer object; reusing a buffer after passing it to call IWMWriter::WriteSample will cause errors because the writer object does not immediately release its references to the buffer object. You can release the interfaces of the buffer object safely any time after the WriteSample call returns.

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

IWMWriter Interface

To Write Samples