#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. |
Win32, x64
See Also
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++.