IltmmMediaSampleDisp::get_Buffer

#include "ltmm.h"

C Syntax

HRESULT IltmmMediaSampleDisp__get_Buffer(pMediaSampleDisp, pVal)

C++ Syntax

HRESULT get_Buffer(pVal)

 

IltmmMediaSampleDisp *pMediaSampleDisp;

/* pointer to an interface */

VARIANT *pVal;

/* pointer to a variable */

Gets a reference for direct access to the sample buffer.

Parameter

Description

pMediaSampleDisp

Pointer to an IltmmMediaSampleDisp interface.

pVal

Pointer to a variable to be updated with a SAFEARRAY reference encapsulated within a VARIANT. The array is composed of a single dimension of bytes. This array contains the sample buffer data.

Returns

S_OK

The function was successful.

<> S_OK

An error occurred. Refer to the Error Codes or the HRESULT error codes in the DirectShow documentation.

Comments

The returned array allows direct read/write access to the sample buffer for in-process clients only (which is the typical case). Out-of-process clients should treat the returned array as read-only and should call the IltmmMediaSampleDisp::SetData function to write to the buffer.

If the function succeeds, the caller must free the returned VARIANT by calling the VariantClear function. VariantClear would free the memory allocated for the VARIANT, not the buffer itself.

Required DLLs and Libraries

LTMM

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Win32, x64

See Also

Functions:

IltmmMediaSampleDisp::get_ActualDataLength, IltmmMediaSampleDisp::get_BufferSize, IltmmMediaSampleDisp::get_Discontinuity, IltmmMediaSampleDisp::get_Preroll, IltmmMediaSampleDisp::get_SyncPoint, IltmmMediaSampleDisp::GetData, IltmmMediaSampleDisp::GetMediaTime, IltmmMediaSampleDisp::GetMediaType, IltmmMediaSampleDisp::GetTime, IltmmMediaSampleDisp::put_ActualDataLength, IltmmMediaSampleDisp::put_Discontinuity, IltmmMediaSampleDisp::put_Preroll, IltmmMediaSampleDisp::put_SyncPoint, IltmmMediaSampleDisp::ResetMediaTime, IltmmMediaSampleDisp::ResetTime, IltmmMediaSampleDisp::SetData, IltmmMediaSampleDisp::SetMediaTime, IltmmMediaSampleDisp::SetMediaType, IltmmMediaSampleDisp::SetTime

Topics:

Multimedia Function Group

 

IltmmMediaSampleDisp interface

 

ltmmMediaSample object

Example

For a C example, refer to Splitting an AVI file Into Multiple Bitmaps Using ltmmSampleTarget for C.

For a C++ example, refer to Splitting an AVI file Into Multiple Bitmaps Using ltmmSampleTarget for C++.