IltmmMemory::CopyData

#include "ltmm.h"

C Syntax

HRESULT IltmmMemory_CopyData(pMem, Index, Count, pVal)

C++ Syntax

HRESULT CopyData(Index, Count, pVal)

 

IltmmMemory *pMem;

/* pointer to an interface */

long Index;

/* offset */

long Count;

/* size */

VARIANT *Data;

/* pointer to a VARIANT */

Copies a block of data to a user-defined buffer.

Parameter

Description

pMem

Pointer to an IltmmMemory interface.

Index

Index, or offset, in the object’s buffer, from which to retrieve the data.

Count

Size of the data to retrieve (number of elements in bytes).

Data

Pointer to a variable to be updated with a VARIANT containing a SAFEARRAY reference to the block of 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

If the size of the data to retrieve is larger than the size available after the offset, the function will retrieve only the available data between the offset and the end of the buffer.

In the IltmmMemory::GetData function the function itself allocates the memory for the SAFEARRAY. In this function the caller is responsible for allocating the required memory for the SAFEARRAY.

The area of the object's buffer from which the data is copied will be locked for the duration of the call.

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.

See Also

Elements:

IltmmMemory::get_BufferSize, IltmmMemory::GetData, IltmmMemory::put_BufferSize, IltmmMemory::GetByte, IltmmMemory::SetData

Topics:

Multimedia Function Group

Example

For a C example, refer to Use ltmmMemory for Memory Conversion for C.

For a C++ example, refer to Use ltmmMemory for Memory Conversion for C++.