\hypertarget{a02226}{}\doxysection{AAX\+\_\+\+IData\+Buffer Class Reference}
\label{a02226}\index{AAX\_IDataBuffer@{AAX\_IDataBuffer}}


{\ttfamily \#include $<$AAX\+\_\+\+IData\+Buffer.\+h$>$}



Inheritance diagram for AAX\+\_\+\+IData\+Buffer\+:
% FIG 0


Collaboration diagram for AAX\+\_\+\+IData\+Buffer\+:
% FIG 1


\doxysubsection{Description}
Interface for reference counted data buffers. 

This interface is intended to be used for passing arbitrary blocks of data across the binary boundary and allowing the receiver to take ownership of the allocated memory.   \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a02226_a442393f78a4260600decc5d4990c8502}{ACF\+\_\+\+DECLARE\+\_\+\+STANDARD\+\_\+\+UNKNOWN}} () ACFMETHOD(Internal\+Query\+Interface)(const \mbox{\hyperlink{a00308_a59df0b41744eee7a066787aaedf97f67}{acf\+IID}} \&riid
\item 
\mbox{\hyperlink{a02226_a2c50fc539cf5f53deb0acdae2bf562be}{AAX\+\_\+\+DELETE}} (\mbox{\hyperlink{a02226}{AAX\+\_\+\+IData\+Buffer}} \&operator=(const \mbox{\hyperlink{a02226}{AAX\+\_\+\+IData\+Buffer}} \&))
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02038}{AAX\+\_\+\+IACFData\+Buffer}}}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02038_a1e06ebce506cd5218e3fee7305fd8468}{Type}} (\mbox{\hyperlink{a00542_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} $\ast$o\+Type) const =0
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02038_a5c4c3ea3d74f683abf4af917e8db66f6}{Size}} (int32\+\_\+t $\ast$o\+Size) const =0
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02038_adecd9038cdc13de9030bd6d53b6edef7}{Data}} (void const $\ast$$\ast$o\+Buffer) const =0
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a01770}{IACFUnknown}}}
\begin{DoxyCompactItemize}
\item 
virtual BEGIN\+\_\+\+ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_a8b7f0ae9c78d007ca76aa462ebe53135}{Query\+Interface}} (const \mbox{\hyperlink{a00308_a59df0b41744eee7a066787aaedf97f67}{acf\+IID}} \&iid, void $\ast$$\ast$pp\+Out)=0
\begin{DoxyCompactList}\small\item\em Returns pointers to supported interfaces. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_aa9c7a5b9dff341092b7b86bb9b3a58fb}{Add\+Ref}} (void)=0
\begin{DoxyCompactList}\small\item\em Increments reference count. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_afabd38cec0a9ed37f1d3e8644a70ac41}{Release}} (void)=0
\begin{DoxyCompactList}\small\item\em Decrements reference count. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
void $\ast$$\ast$ppv\+Obj\+Out \mbox{\hyperlink{a02226_a95200d33b16c4a896e3f634bd5b7409d}{AAX\+\_\+\+OVERRIDE}}
\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a02226_a442393f78a4260600decc5d4990c8502}\label{a02226_a442393f78a4260600decc5d4990c8502}} 
\index{AAX\_IDataBuffer@{AAX\_IDataBuffer}!ACF\_DECLARE\_STANDARD\_UNKNOWN@{ACF\_DECLARE\_STANDARD\_UNKNOWN}}
\index{ACF\_DECLARE\_STANDARD\_UNKNOWN@{ACF\_DECLARE\_STANDARD\_UNKNOWN}!AAX\_IDataBuffer@{AAX\_IDataBuffer}}
\doxysubsubsection{\texorpdfstring{ACF\_DECLARE\_STANDARD\_UNKNOWN()}{ACF\_DECLARE\_STANDARD\_UNKNOWN()}}
{\footnotesize\ttfamily AAX\+\_\+\+IData\+Buffer\+::\+ACF\+\_\+\+DECLARE\+\_\+\+STANDARD\+\_\+\+UNKNOWN (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \&}

\mbox{\Hypertarget{a02226_a2c50fc539cf5f53deb0acdae2bf562be}\label{a02226_a2c50fc539cf5f53deb0acdae2bf562be}} 
\index{AAX\_IDataBuffer@{AAX\_IDataBuffer}!AAX\_DELETE@{AAX\_DELETE}}
\index{AAX\_DELETE@{AAX\_DELETE}!AAX\_IDataBuffer@{AAX\_IDataBuffer}}
\doxysubsubsection{\texorpdfstring{AAX\_DELETE()}{AAX\_DELETE()}}
{\footnotesize\ttfamily AAX\+\_\+\+IData\+Buffer\+::\+AAX\+\_\+\+DELETE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a02226}{AAX\+\_\+\+IData\+Buffer}} \&}]{operator = {\ttfamily (const~\mbox{\hyperlink{a02226}{AAX\+\_\+\+IData\+Buffer}}~\&)} }\end{DoxyParamCaption})}



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{a02226_a95200d33b16c4a896e3f634bd5b7409d}\label{a02226_a95200d33b16c4a896e3f634bd5b7409d}} 
\index{AAX\_IDataBuffer@{AAX\_IDataBuffer}!AAX\_OVERRIDE@{AAX\_OVERRIDE}}
\index{AAX\_OVERRIDE@{AAX\_OVERRIDE}!AAX\_IDataBuffer@{AAX\_IDataBuffer}}
\doxysubsubsection{\texorpdfstring{AAX\_OVERRIDE}{AAX\_OVERRIDE}}
{\footnotesize\ttfamily void$\ast$$\ast$ ppv\+Obj\+Out AAX\+\_\+\+IData\+Buffer\+::\+AAX\+\_\+\+OVERRIDE}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (riid\ ==\ \mbox{\hyperlink{a00575_ab3efeb52530ecb5fd8fbc583500fb6e2}{IID\_IAAXDataBufferV1}})}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \{}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ *ppvObjOut\ =\ \textcolor{keyword}{static\_cast<}\mbox{\hyperlink{a01770}{IACFUnknown}}\ *\textcolor{keyword}{>}(\textcolor{keyword}{this});}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ (\ \textcolor{keyword}{static\_cast<}\mbox{\hyperlink{a01770}{IACFUnknown}}\ *\textcolor{keyword}{>}(*ppvObjOut))-\/>\mbox{\hyperlink{a01770_aa9c7a5b9dff341092b7b86bb9b3a58fb}{AddRef}}();}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ ACF\_OK;}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\ \ \ \ \ \ \ \ }
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ this-\/>CACFUnknown::InternalQueryInterface(riid,\ ppvObjOut)}

\end{DoxyCode}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00578}{AAX\+\_\+\+IData\+Buffer.\+h}}\end{DoxyCompactItemize}
