\hypertarget{a02105}{}\doxysection{AAX\+\_\+\+IACFPage\+Table Class Reference}
\label{a02105}\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}}


{\ttfamily \#include $<$AAX\+\_\+\+IACFPage\+Table.\+h$>$}



Inheritance diagram for AAX\+\_\+\+IACFPage\+Table\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=208pt]{a02104}
\end{center}
\end{figure}


Collaboration diagram for AAX\+\_\+\+IACFPage\+Table\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=191pt]{a02103}
\end{center}
\end{figure}


\doxysubsection{Description}
Versioned interface to the host\textquotesingle{}s representation of a plug-\/in instance\textquotesingle{}s page table. \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_a664fd7f2edd4f258f258541c85cf3a30}{Clear}} ()=0
\begin{DoxyCompactList}\small\item\em Clears all parameter mappings from the table.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_ac76672810be58fb013c193ba50170f53}{Empty}} (\mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} \&o\+Empty) const =0
\begin{DoxyCompactList}\small\item\em Indicates whether the table is empty.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_a8c86b0cfe2d9cfe8b745c09ccf2d8619}{Get\+Num\+Pages}} (int32\+\_\+t \&o\+Num\+Pages) const =0
\begin{DoxyCompactList}\small\item\em Get the number of pages currently in this table.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_aed3706e4e59c9cf58603db7d06888c81}{Insert\+Page}} (int32\+\_\+t i\+Page)=0
\begin{DoxyCompactList}\small\item\em Insert a new empty page before the page at index {\ttfamily i\+Page}.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_a111b8371211623bf0c73e6fe8e77c82c}{Remove\+Page}} (int32\+\_\+t i\+Page)=0
\begin{DoxyCompactList}\small\item\em Remove the page at index {\ttfamily i\+Page}.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_a5fe90fe5ca247a2111ff8892861daefb}{Get\+Num\+Mapped\+Parameter\+IDs}} (int32\+\_\+t i\+Page, int32\+\_\+t \&o\+Num\+Parameter\+Identifiers) const =0
\begin{DoxyCompactList}\small\item\em Returns the total number of parameter IDs which are mapped to a page.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_a15914845dbf7bc309f07f11b05e89016}{Clear\+Mapped\+Parameter}} (int32\+\_\+t i\+Page, int32\+\_\+t i\+Index)=0
\begin{DoxyCompactList}\small\item\em Clear the parameter at a particular index in this table.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_ae46125c9ca6f75f5a7bfbf523506c2b7}{Get\+Mapped\+Parameter\+ID}} (int32\+\_\+t i\+Page, int32\+\_\+t i\+Index, \mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} \&o\+Parameter\+Identifier) const =0
\begin{DoxyCompactList}\small\item\em Get the parameter identifier which is currently mapped to an index in this table.   \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02105_a7897faf269ab1d6aa56fcf463fbac783}{Map\+Parameter\+ID}} (\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+Identifier, int32\+\_\+t i\+Page, int32\+\_\+t i\+Index)=0
\begin{DoxyCompactList}\small\item\em Map a parameter to this table.   \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a01757}{IACFUnknown}}}
\begin{DoxyCompactItemize}
\item 
virtual BEGIN\+\_\+\+ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE \mbox{\hyperlink{a01757_a8b7f0ae9c78d007ca76aa462ebe53135}{Query\+Interface}} (const \mbox{\hyperlink{a00305_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{a01757_aa9c7a5b9dff341092b7b86bb9b3a58fb}{Add\+Ref}} (void)=0
\begin{DoxyCompactList}\small\item\em Increments reference count. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01757_afabd38cec0a9ed37f1d3e8644a70ac41}{Release}} (void)=0
\begin{DoxyCompactList}\small\item\em Decrements reference count. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a02105_a664fd7f2edd4f258f258541c85cf3a30}\label{a02105_a664fd7f2edd4f258f258541c85cf3a30}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!Clear@{Clear}}
\index{Clear@{Clear}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{Clear()}{Clear()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Clear (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Clears all parameter mappings from the table.   

This method does not clear any parameter name variations from the table. For that, use \mbox{\hyperlink{a02269_a6af3965eaf2baeadef9a44aa9c77ecbb}{AAX\+\_\+\+IPage\+Table\+::\+Clear\+Parameter\+Name\+Variations()}} or \mbox{\hyperlink{a02269_ae6cf05c366d982e8ea92fea1d98f1d22}{AAX\+\_\+\+IPage\+Table\+::\+Clear\+Name\+Variations\+For\+Parameter()}}   \mbox{\Hypertarget{a02105_ac76672810be58fb013c193ba50170f53}\label{a02105_ac76672810be58fb013c193ba50170f53}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!Empty@{Empty}}
\index{Empty@{Empty}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{Empty()}{Empty()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Empty (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} \&}]{o\+Empty }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Indicates whether the table is empty.   

A table is empty if it contains no pages. A table which contains pages but no parameter assignments is not empty. A table which has associated parameter name variations but no pages is empty.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em o\+Empty} & {\ttfamily true} if this table is empty   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02105_a8c86b0cfe2d9cfe8b745c09ccf2d8619}\label{a02105_a8c86b0cfe2d9cfe8b745c09ccf2d8619}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!GetNumPages@{GetNumPages}}
\index{GetNumPages@{GetNumPages}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{GetNumPages()}{GetNumPages()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Get\+Num\+Pages (\begin{DoxyParamCaption}\item[{int32\+\_\+t \&}]{o\+Num\+Pages }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Get the number of pages currently in this table.   


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em o\+Num\+Pages} & The number of pages which are present in the page table. Some pages might not contain any parameter assignments.   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02105_aed3706e4e59c9cf58603db7d06888c81}\label{a02105_aed3706e4e59c9cf58603db7d06888c81}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!InsertPage@{InsertPage}}
\index{InsertPage@{InsertPage}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{InsertPage()}{InsertPage()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Insert\+Page (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Page }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Insert a new empty page before the page at index {\ttfamily i\+Page}.   

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a7d27a3bd88231e331c98d85f5b10e2eb}{AAX\+\_\+\+ERROR\+\_\+\+INVALID\+\_\+\+ARGUMENT}} if {\ttfamily i\+Page} is greater than the total number of pages
\end{DoxyReturn}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Page} & The insertion point page index   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02105_a111b8371211623bf0c73e6fe8e77c82c}\label{a02105_a111b8371211623bf0c73e6fe8e77c82c}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!RemovePage@{RemovePage}}
\index{RemovePage@{RemovePage}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{RemovePage()}{RemovePage()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Remove\+Page (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Page }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Remove the page at index {\ttfamily i\+Page}.   

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a7d27a3bd88231e331c98d85f5b10e2eb}{AAX\+\_\+\+ERROR\+\_\+\+INVALID\+\_\+\+ARGUMENT}} if {\ttfamily i\+Page} is greater than the index of the last existing page
\end{DoxyReturn}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Page} & The target page index   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02105_a5fe90fe5ca247a2111ff8892861daefb}\label{a02105_a5fe90fe5ca247a2111ff8892861daefb}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!GetNumMappedParameterIDs@{GetNumMappedParameterIDs}}
\index{GetNumMappedParameterIDs@{GetNumMappedParameterIDs}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{GetNumMappedParameterIDs()}{GetNumMappedParameterIDs()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Get\+Num\+Mapped\+Parameter\+IDs (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Page,  }\item[{int32\+\_\+t \&}]{o\+Num\+Parameter\+Identifiers }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Returns the total number of parameter IDs which are mapped to a page.   

\begin{DoxyNote}{Note}
The number of mapped parameter IDs does not correspond to the actual slot indices of the parameter assignments. For example, a page could have three total parameter assignments with parameters mapped to slots 2, 4, and 6.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a7d27a3bd88231e331c98d85f5b10e2eb}{AAX\+\_\+\+ERROR\+\_\+\+INVALID\+\_\+\+ARGUMENT}} if {\ttfamily i\+Page} is greater than the index of the last existing page
\end{DoxyReturn}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Page} & The target page index \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Num\+Parameter\+Identifiers} & The number of parameter identifiers which are mapped to the target page   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02105_a15914845dbf7bc309f07f11b05e89016}\label{a02105_a15914845dbf7bc309f07f11b05e89016}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!ClearMappedParameter@{ClearMappedParameter}}
\index{ClearMappedParameter@{ClearMappedParameter}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{ClearMappedParameter()}{ClearMappedParameter()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Clear\+Mapped\+Parameter (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Page,  }\item[{int32\+\_\+t}]{i\+Index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Clear the parameter at a particular index in this table.   

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aeddbd1bb67e3a66e6af54a4b4a7a57b3}{AAX\+\_\+\+SUCCESS}} even if no parameter was mapped at the given index (the index is still clear)
\end{DoxyReturn}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Page} & The target page index \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Index} & The target parameter slot index within the target page   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02105_ae46125c9ca6f75f5a7bfbf523506c2b7}\label{a02105_ae46125c9ca6f75f5a7bfbf523506c2b7}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!GetMappedParameterID@{GetMappedParameterID}}
\index{GetMappedParameterID@{GetMappedParameterID}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{GetMappedParameterID()}{GetMappedParameterID()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Get\+Mapped\+Parameter\+ID (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{i\+Page,  }\item[{int32\+\_\+t}]{i\+Index,  }\item[{\mbox{\hyperlink{a02305}{AAX\+\_\+\+IString}} \&}]{o\+Parameter\+Identifier }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Get the parameter identifier which is currently mapped to an index in this table.   

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a7d27a3bd88231e331c98d85f5b10e2eb}{AAX\+\_\+\+ERROR\+\_\+\+INVALID\+\_\+\+ARGUMENT}} if no parameter is mapped at the specified page/index location
\end{DoxyReturn}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Page} & The target page index \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Index} & The target parameter slot index within the target page \\
\hline
\mbox{\texttt{ out}}  & {\em o\+Parameter\+Identifier} & The identifier used for the mapped parameter in the page table (may be parameter name or ID)   \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a02105_a7897faf269ab1d6aa56fcf463fbac783}\label{a02105_a7897faf269ab1d6aa56fcf463fbac783}} 
\index{AAX\_IACFPageTable@{AAX\_IACFPageTable}!MapParameterID@{MapParameterID}}
\index{MapParameterID@{MapParameterID}!AAX\_IACFPageTable@{AAX\_IACFPageTable}}
\doxysubsubsection{\texorpdfstring{MapParameterID()}{MapParameterID()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{a00533_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} AAX\+\_\+\+IACFPage\+Table\+::\+Map\+Parameter\+ID (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a00533_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}}}]{i\+Parameter\+Identifier,  }\item[{int32\+\_\+t}]{i\+Page,  }\item[{int32\+\_\+t}]{i\+Index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Map a parameter to this table.   

If {\ttfamily i\+Parameter\+Identifier} is an empty string then the parameter assignment will be cleared

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937aa77cf0ad2d545c97b095d8bc19a7c969}{AAX\+\_\+\+ERROR\+\_\+\+NULL\+\_\+\+ARGUMENT}} if {\ttfamily i\+Parameter\+Identifier} is null

\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a7d27a3bd88231e331c98d85f5b10e2eb}{AAX\+\_\+\+ERROR\+\_\+\+INVALID\+\_\+\+ARGUMENT}} if {\ttfamily i\+Page} is greater than the index of the last existing page

\mbox{\hyperlink{a00530_a5f8c7439f3a706c4f8315a9609811937a7d27a3bd88231e331c98d85f5b10e2eb}{AAX\+\_\+\+ERROR\+\_\+\+INVALID\+\_\+\+ARGUMENT}} if {\ttfamily i\+Index} is negative
\end{DoxyReturn}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i\+Parameter\+Identifier} & The identifier for the parameter which will be mapped \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Page} & The target page index \\
\hline
\mbox{\texttt{ in}}  & {\em i\+Index} & The target parameter slot index within the target page   \\
\hline
\end{DoxyParams}


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