Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 1760bbde8794f5b323299b3a051b5bd6 > files > 80

openchange-devel-0.9-11.fc14.x86_64.rpm

<html>
  <head>
    <title>MAPIClientLibraries 0.9 API Documentation</title>
    <link href="doxygen.css" rel="stylesheet" type="text/css"/>
    <link href="apidocs.css" rel="stylesheet" type="text/css"/>
  </head>
  <body>
    <div id="website">
    <div class="header"></div>
      <div id="middle_side">
	<div id="right_side_home">
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>libmapi/IMAPIContainer.c File Reference</h1>  </div>
</div>
<div class="contents">

<p>Containers and tables related operations.  
<a href="#_details">More...</a></p>
<code>#include &lt;<a class="el" href="libmapi_8h.html">libmapi/libmapi.h</a>&gt;</code><br/>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPIContainer_8c.html#a45f243bea0975066cc0112c57951e8a2">GetContentsTable</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_container, <a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_table, uint8_t TableFlags, uint32_t *RowCount)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPIContainer_8c.html#aabf483e456de9d3621464537e9367445">GetHierarchyTable</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_container, <a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_table, uint8_t TableFlags, uint32_t *RowCount)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPIContainer_8c.html#a2a95d6556353c2e4c3ac3376d6daa4e0">GetRulesTable</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_folder, <a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_table, uint8_t TableFlags)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPIContainer_8c.html#a92fd04109c567b35cf94c8f8164347bb">GetSearchCriteria</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_container, struct mapi_SRestriction *res, uint32_t *SearchFlags, uint16_t *FolderIdCount, uint64_t **FolderIds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPIContainer_8c.html#aa4a0b96b29406952c941ab7ac5b47132">GetTable</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_container, <a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPIContainer_8c.html#acb9fdb29dcfeb55d66053adde281c008">ModifyTable</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_table, struct mapi_SRowList *rowList)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPIContainer_8c.html#ae3af05cecb9aa198908157c9d6414c21">SetSearchCriteria</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_container, struct mapi_SRestriction *res, uint32_t SearchFlags, <a class="el" href="structmapi__id__array.html">mapi_id_array_t</a> *lpContainerList)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Containers and tables related operations. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a45f243bea0975066cc0112c57951e8a2"></a><!-- doxytag: member="IMAPIContainer.c::GetContentsTable" ref="a45f243bea0975066cc0112c57951e8a2" args="(mapi_object_t *obj_container, mapi_object_t *obj_table, uint8_t TableFlags, uint32_t *RowCount)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS GetContentsTable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>TableFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>RowCount</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a pointer to a container's table object</p>
<p>This function takes a pointer to a container object and returns a pointer to its associated contents</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_container</em>&nbsp;</td><td>the object to get the contents of </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj_table</em>&nbsp;</td><td>the resulting table containing the container's contents. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>TableFlags</em>&nbsp;</td><td>flags controlling the type of table </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>RowCount</em>&nbsp;</td><td>the number of rows in the hierarchy table</td></tr>
  </table>
  </dd>
</dl>
<p>TableFlags possible values:</p>
<ul>
<li>TableFlags_Depth (0x4): Fills the hierarchy table with containers from all levels. If this flag is not set, the hierarchy table contains only the container's immediate child containers.</li>
</ul>
<ul>
<li>TableFlags_DeferredErrors (0x8): The call response can return immediately, possibly before the call execution is complete and in this case the ReturnValue as well the RowCount fields in the return buffer might not be accurate. Only retval reporting failure can be considered valid in this case.</li>
</ul>
<ul>
<li>TableFlags_NoNotifications (0x10): Disables all notifications on .this Table object.</li>
</ul>
<ul>
<li>TableFlags_SoftDeletes (0x20): Enables the client to get a list of the soft deleted folders.</li>
</ul>
<ul>
<li>TableFlags_UseUnicode (0x40): Requests that the columns that contain string data be returned in Unicode format.</li>
</ul>
<ul>
<li>TableFlags_SuppressNotifications (0x80): Suppresses notifications generated by this client’s actions on this Table object.</li>
</ul>
<p>Developers can either set RowCount to a valid pointer on uint32_t or set it to NULL. In this last case, GetHierarchyTable won't return any value to the calling function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a5d20a82a73d463254ac5e688f0f0cb0f">OpenFolder</a>, <a class="el" href="proto_8h.html#ad5362cafba2a76a70b112c966abe5907">GetHierarchyTable</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fetchappointment_8c-example.html#a11">fetchappointment.c</a>, and <a class="el" href="fetchmail_8c-example.html#a11">fetchmail.c</a>.</dd>
</dl>
<p>References <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#ae07f13624739ffff34e89ed3003a354e">emsmdb_transaction()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c.html#a96bfa7545b6e9ad350c42ba0abd07da8">mapi_object_get_logon_id()</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c.html#a6cad283dc5a1228734e816adb30aa53c">mapi_object_set_handle()</a>, <a class="el" href="mapi__object_8c.html#a845af67422945480121797b8a44ab14d">mapi_object_set_logon_id()</a>, <a class="el" href="mapi__object_8c.html#a373e9bd46155ea22e816fa66944f22a6">mapi_object_set_session()</a>, <a class="el" href="mapi__object_8c.html#a678facb39f5979fec7ad08f2659d5181">mapi_object_table_init()</a>, <a class="el" href="mapicode_8h.html#a53da6d1258f2abd902930b6af1134d1c">OPENCHANGE_CHECK_NOTIFICATION</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

<p>Referenced by <a class="el" href="proto_8h.html#a51ddeca55f13055917a8b43d28a5f11f">GetUserFreeBusyData()</a>.</p>

</div>
</div>
<a class="anchor" id="aabf483e456de9d3621464537e9367445"></a><!-- doxytag: member="IMAPIContainer.c::GetHierarchyTable" ref="aabf483e456de9d3621464537e9367445" args="(mapi_object_t *obj_container, mapi_object_t *obj_table, uint8_t TableFlags, uint32_t *RowCount)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS GetHierarchyTable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>TableFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>RowCount</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a pointer to a container's table object</p>
<p>This function takes a pointer to a container object and returns a pointer to its associated hierarchy table</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_container</em>&nbsp;</td><td>the object to get the contents of </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj_table</em>&nbsp;</td><td>the resulting table containing the container's hierarchy </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>TableFlags</em>&nbsp;</td><td>flags controlling the type of table </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>RowCount</em>&nbsp;</td><td>the number of rows in the hierarchy table</td></tr>
  </table>
  </dd>
</dl>
<p>TableFlags possible values:</p>
<ul>
<li>TableFlags_Depth (0x4): Fills the hierarchy table with containers from all levels. If this flag is not set, the hierarchy table contains only the container's immediate child containers.</li>
</ul>
<ul>
<li>TableFlags_DeferredErrors (0x8): The call response can return immediately, possibly before the call execution is complete and in this case the ReturnValue as well the RowCount fields in the return buffer might not be accurate. Only retval reporting failure can be considered valid in this case.</li>
</ul>
<ul>
<li>TableFlags_NoNotifications (0x10): Disables all notifications on .this Table object.</li>
</ul>
<ul>
<li>TableFlags_SoftDeletes (0x20): Enables the client to get a list of the soft deleted folders.</li>
</ul>
<ul>
<li>TableFlags_UseUnicode (0x40): Requests that the columns that contain string data be returned in Unicode format.</li>
</ul>
<ul>
<li>TableFlags_SuppressNotifications (0x80): Suppresses notifications generated by this client’s actions on this Table object.</li>
</ul>
<p>Developers can either set RowCount to a valid pointer on uint32_t or set it to NULL. In this last case, GetHierarchyTable won't return any value to the calling function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a5d20a82a73d463254ac5e688f0f0cb0f">OpenFolder</a>, <a class="el" href="proto_8h.html#a8005a7edf302693a7277f1351382d0d5">GetContentsTable</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl>

<p>References <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#ae07f13624739ffff34e89ed3003a354e">emsmdb_transaction()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c.html#a96bfa7545b6e9ad350c42ba0abd07da8">mapi_object_get_logon_id()</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c.html#a6cad283dc5a1228734e816adb30aa53c">mapi_object_set_handle()</a>, <a class="el" href="mapi__object_8c.html#a845af67422945480121797b8a44ab14d">mapi_object_set_logon_id()</a>, <a class="el" href="mapi__object_8c.html#a373e9bd46155ea22e816fa66944f22a6">mapi_object_set_session()</a>, <a class="el" href="mapi__object_8c.html#a678facb39f5979fec7ad08f2659d5181">mapi_object_table_init()</a>, <a class="el" href="mapicode_8h.html#a53da6d1258f2abd902930b6af1134d1c">OPENCHANGE_CHECK_NOTIFICATION</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

<p>Referenced by <a class="el" href="proto_8h.html#a51ddeca55f13055917a8b43d28a5f11f">GetUserFreeBusyData()</a>.</p>

</div>
</div>
<a class="anchor" id="a2a95d6556353c2e4c3ac3376d6daa4e0"></a><!-- doxytag: member="IMAPIContainer.c::GetRulesTable" ref="a2a95d6556353c2e4c3ac3376d6daa4e0" args="(mapi_object_t *obj_folder, mapi_object_t *obj_table, uint8_t TableFlags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS GetRulesTable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_folder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>TableFlags</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the rules table of a folder</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_folder</em>&nbsp;</td><td>the folder we want to retrieve the rules table from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj_table</em>&nbsp;</td><td>the rules table </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>TableFlags</em>&nbsp;</td><td>bitmask associated to the rules table</td></tr>
  </table>
  </dd>
</dl>
<p>Possible values for TableFlags:</p>
<ul>
<li>RulesTableFlags_Unicode (0x40): Set if the client is requesting that string values in the table to be returned as Unicode strings.</li>
</ul>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction </li>
</ul>
</dd></dl>

<p>References <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#ae07f13624739ffff34e89ed3003a354e">emsmdb_transaction()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c.html#a96bfa7545b6e9ad350c42ba0abd07da8">mapi_object_get_logon_id()</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c.html#a6cad283dc5a1228734e816adb30aa53c">mapi_object_set_handle()</a>, <a class="el" href="mapi__object_8c.html#a845af67422945480121797b8a44ab14d">mapi_object_set_logon_id()</a>, <a class="el" href="mapi__object_8c.html#a373e9bd46155ea22e816fa66944f22a6">mapi_object_set_session()</a>, <a class="el" href="mapi__object_8c.html#a678facb39f5979fec7ad08f2659d5181">mapi_object_table_init()</a>, <a class="el" href="mapicode_8h.html#a53da6d1258f2abd902930b6af1134d1c">OPENCHANGE_CHECK_NOTIFICATION</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

</div>
</div>
<a class="anchor" id="a92fd04109c567b35cf94c8f8164347bb"></a><!-- doxytag: member="IMAPIContainer.c::GetSearchCriteria" ref="a92fd04109c567b35cf94c8f8164347bb" args="(mapi_object_t *obj_container, struct mapi_SRestriction *res, uint32_t *SearchFlags, uint16_t *FolderIdCount, uint64_t **FolderIds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS GetSearchCriteria </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct mapi_SRestriction *&nbsp;</td>
          <td class="paramname"> <em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>SearchFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t *&nbsp;</td>
          <td class="paramname"> <em>FolderIdCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t **&nbsp;</td>
          <td class="paramname"> <em>FolderIds</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Obtains the search criteria for a container</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_container</em>&nbsp;</td><td>the object we retrieve search criteria from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>pointer to a mapi_SRestriction structure defining the search criteria </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>SearchFlags</em>&nbsp;</td><td>bitmask of flags that controls how the search is performed </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FolderIdCount</em>&nbsp;</td><td>number of FolderIds entries </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FolderIds</em>&nbsp;</td><td>pointer to a list of identifiers representing containers included in the search</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a0ce94351576d968926636487793beaed">SetSearchCriteria</a> </dd></dl>

<p>References <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#ae07f13624739ffff34e89ed3003a354e">emsmdb_transaction()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c.html#a96bfa7545b6e9ad350c42ba0abd07da8">mapi_object_get_logon_id()</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapicode_8h.html#a53da6d1258f2abd902930b6af1134d1c">OPENCHANGE_CHECK_NOTIFICATION</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

</div>
</div>
<a class="anchor" id="aa4a0b96b29406952c941ab7ac5b47132"></a><!-- doxytag: member="IMAPIContainer.c::GetTable" ref="aa4a0b96b29406952c941ab7ac5b47132" args="(mapi_object_t *obj_container, mapi_object_t *obj_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS GetTable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_table</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a pointer to the permission's table object.</p>
<p>This function takes a pointer to a container object and returns a pointer to its associated permission table</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_container</em>&nbsp;</td><td>the object to get the contents of </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj_table</em>&nbsp;</td><td>the resulting table containing the container's permissions</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#afcd8006481ea667864a055148777a07e">ModifyTable</a> </dd></dl>

<p>References <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#ae07f13624739ffff34e89ed3003a354e">emsmdb_transaction()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c.html#a96bfa7545b6e9ad350c42ba0abd07da8">mapi_object_get_logon_id()</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c.html#a6cad283dc5a1228734e816adb30aa53c">mapi_object_set_handle()</a>, <a class="el" href="mapi__object_8c.html#a845af67422945480121797b8a44ab14d">mapi_object_set_logon_id()</a>, <a class="el" href="mapi__object_8c.html#a373e9bd46155ea22e816fa66944f22a6">mapi_object_set_session()</a>, <a class="el" href="mapi__object_8c.html#a678facb39f5979fec7ad08f2659d5181">mapi_object_table_init()</a>, <a class="el" href="mapicode_8h.html#a53da6d1258f2abd902930b6af1134d1c">OPENCHANGE_CHECK_NOTIFICATION</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

<p>Referenced by <a class="el" href="simple__mapi_8c.html#a9cb54788ad5b18ab5e714405a043b049">ModifyUserPermission()</a>, and <a class="el" href="simple__mapi_8c.html#a6b974921b0a3421b48933e564230d664">RemoveUserPermission()</a>.</p>

</div>
</div>
<a class="anchor" id="acb9fdb29dcfeb55d66053adde281c008"></a><!-- doxytag: member="IMAPIContainer.c::ModifyTable" ref="acb9fdb29dcfeb55d66053adde281c008" args="(mapi_object_t *obj_table, struct mapi_SRowList *rowList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS ModifyTable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct mapi_SRowList *&nbsp;</td>
          <td class="paramname"> <em>rowList</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Modify the entries of a permission table</p>
<p>This function takes a pointer to a table object, a list of entries to modify and alter the permission table of its associated container. This function can be used to add, modify or remove permissions.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_table</em>&nbsp;</td><td>the table containing the container's permissions </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rowList</em>&nbsp;</td><td>the list of table entries to modify</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a0c8a9b8fc54139a1411aa9264acbe200">GetTable</a>, <a class="el" href="simple__mapi_8c.html#a2445fb102be62563bdd8d24025f3be2b">AddUserPermission</a>, <a class="el" href="simple__mapi_8c.html#a9cb54788ad5b18ab5e714405a043b049">ModifyUserPermission</a>, <a class="el" href="simple__mapi_8c.html#a6b974921b0a3421b48933e564230d664">RemoveUserPermission</a> </dd></dl>

<p>References <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#ae07f13624739ffff34e89ed3003a354e">emsmdb_transaction()</a>, <a class="el" href="property_8c.html#ad6d0b112f24f68e60db12202fac1245d">get_mapi_property_size()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c.html#a96bfa7545b6e9ad350c42ba0abd07da8">mapi_object_get_logon_id()</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapicode_8h.html#a53da6d1258f2abd902930b6af1134d1c">OPENCHANGE_CHECK_NOTIFICATION</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

<p>Referenced by <a class="el" href="simple__mapi_8c.html#a2445fb102be62563bdd8d24025f3be2b">AddUserPermission()</a>, <a class="el" href="simple__mapi_8c.html#a9cb54788ad5b18ab5e714405a043b049">ModifyUserPermission()</a>, and <a class="el" href="simple__mapi_8c.html#a6b974921b0a3421b48933e564230d664">RemoveUserPermission()</a>.</p>

</div>
</div>
<a class="anchor" id="ae3af05cecb9aa198908157c9d6414c21"></a><!-- doxytag: member="IMAPIContainer.c::SetSearchCriteria" ref="ae3af05cecb9aa198908157c9d6414c21" args="(mapi_object_t *obj_container, struct mapi_SRestriction *res, uint32_t SearchFlags, mapi_id_array_t *lpContainerList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS SetSearchCriteria </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj_container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct mapi_SRestriction *&nbsp;</td>
          <td class="paramname"> <em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>SearchFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmapi__id__array.html">mapi_id_array_t</a> *&nbsp;</td>
          <td class="paramname"> <em>lpContainerList</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Etablishes search criteria for the container</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj_container</em>&nbsp;</td><td>the object we apply search criteria on </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>pointer to a mapi_SRestriction structure defining the search criteria </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>SearchFlags</em>&nbsp;</td><td>bitmask of flags that controls how the search is performed </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>lpContainerList</em>&nbsp;</td><td>pointer to a list of identifiers representing containers to be included in the search</td></tr>
  </table>
  </dd>
</dl>
<p>SearchFlags can take the following values:</p>
<ul>
<li>BACKGROUND_SEARCH: Search run at normal priority relative to other searches. This flag is mutually exclusive with the FOREGROUND_SEARCH one.</li>
<li>FOREGROUND_SEARCH: Search run at high priority relative to other searches. This flag is mutually exclusive with the BACKGROUND_SEARCH one.</li>
<li>RECURSIVE_SEARCH: The search should include the containers specified in the lpContainerList parameter and all of their child container. This flag is mutually exclusive with the SHALLOW_SEARCH one.</li>
<li>RESTART_SEARCH: The search should be initiated, if this is the first call to SetSearchCriteria, or restarted, if the search is inactive. This flag is mutually exclusive with the STOP_SEARCH flag.</li>
<li>SHALLOW_SEARCH: The search should only look in the containers specified in the lpContainerList parameter for matching entries. This flag is mutually exclusive with the RECURSIVE_SEARCH one.</li>
<li>STOP_SEARCH: The search should be aborted. This flag is mutually exclusive with the RESTART_SEARCH one.</li>
</ul>
<dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li>
<li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li>
</ul>
</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#ac9358749be2737f24bcd909df8a75f56">GetSearchCriteria</a> </dd></dl>

<p>References <a class="el" href="structmapi__id__array.html#a2d3dad88056dae791e6e92c8d8ea0bc7">mapi_id_array::count</a>, <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#ae07f13624739ffff34e89ed3003a354e">emsmdb_transaction()</a>, <a class="el" href="IMAPITable_8c.html#a7de0279fd6572a123e0a9f512bc55af3">get_mapi_SRestriction_size()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__id__array_8c.html#a5cc08c5509c61008c51d7214d2a4ee58">mapi_id_array_get()</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c.html#a96bfa7545b6e9ad350c42ba0abd07da8">mapi_object_get_logon_id()</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapicode_8h.html#a53da6d1258f2abd902930b6af1134d1c">OPENCHANGE_CHECK_NOTIFICATION</a>, and <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>.</p>

</div>
</div>
</div>
</div>
<br/>
<table style="clear:both; margin: 0.5em auto; width:80%; text-align: center; background-color:#f8f8f8; border:2px solid #e0e0e0; padding:5px;">
<tr>
<td> 
  <img alt="Creative Commons License" src="CC_SomeRightsReserved.png" width="90" height="30" border="0" /><br />
  <img alt="Creative Commons Attribution icon" src="24px-Cc-by_white.svg.png" width="24" height="24" border="0" />
  <img alt="Creative Commons Share Alike icon" src="24px-Cc-sa_white.svg.png" width="24" height="24" border="0" />
</td>
<td> <i><strong class="selflink">This content</strong> is licensed under the Creative Commons<br />
Attribution ShareAlike License v. 3.0:<br />
<a href="http://creativecommons.org/licenses/by-sa/3.0/" class="external free" title="http://creativecommons.org/licenses/by-sa/3.0/" rel="nofollow">http://creativecommons.org/licenses/by-sa/3.0/</a></i>
</td></tr></table>
<br/>
</div>
</div>
</body>
</html>