<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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data 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 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/simple_mapi.c File Reference</h1> </div> </div> <div class="contents"> <p>Convenience functions. <a href="#_details">More...</a></p> <code>#include <<a class="el" href="libmapi_8h.html">libmapi/libmapi.h</a>></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#a2445fb102be62563bdd8d24025f3be2b">AddUserPermission</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_folder, const char *username, enum ACLRIGHTS role)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#ac77ec981ccaa328f0fd1c9cdc03ae153">GetBestBody</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_message, uint8_t *format)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#afd821395dac16d9491e8cecd9743ff95">GetDefaultFolder</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_store, uint64_t *folder, const uint32_t id)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#a7bc03d63237c2f807fe8f272a1e5c0f2">GetDefaultPublicFolder</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_store, uint64_t *folder, const uint32_t id)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#a7b3fc634875a5d59ea50a4b8f0b11074">GetFolderItemsCount</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_folder, uint32_t *unread, uint32_t *total)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ bool </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#a498db9fabc50af64a4c72d324a8f7a1e">IsMailboxFolder</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_store, uint64_t fid, uint32_t *olFolder)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#a9cb54788ad5b18ab5e714405a043b049">ModifyUserPermission</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_folder, const char *username, enum ACLRIGHTS role)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="simple__mapi_8c.html#a6b974921b0a3421b48933e564230d664">RemoveUserPermission</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj_folder, const char *username)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Convenience functions. </p> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a2445fb102be62563bdd8d24025f3be2b"></a><!-- doxytag: member="simple_mapi.c::AddUserPermission" ref="a2445fb102be62563bdd8d24025f3be2b" args="(mapi_object_t *obj_folder, const char *username, enum ACLRIGHTS role)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS AddUserPermission </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_folder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>username</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">enum ACLRIGHTS </td> <td class="paramname"> <em>role</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Adds permissions for a user on a given 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> </td><td>the folder we add permission for </td></tr> <tr><td valign="top"></td><td valign="top"><em>username</em> </td><td>the Exchange username we add permissions for </td></tr> <tr><td valign="top"></td><td valign="top"><em>role</em> </td><td>the permission mask value</td></tr> </table> </dd> </dl> <p>The following permissions and rights are supported:</p> <ul> <li>RightsNone</li> <li>RightsReadItems</li> <li>RightsCreateItems</li> <li>RightsEditOwn</li> <li>RightsDeleteOwn</li> <li>RightsEditAll</li> <li>RightsDeleteAll</li> <li>RightsCreateSubfolders</li> <li>RightsFolderOwner</li> <li>RightsFolderContact</li> <li>RoleNone</li> <li>RoleReviewer</li> <li>RoleContributor</li> <li>RoleNoneditingAuthor</li> <li>RoleAuthor</li> <li>RoleEditor</li> <li>RolePublishAuthor</li> <li>RolePublishEditor</li> <li>RightsAll</li> <li>RoleOwner</li> </ul> <dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise a failure code (MAPISTATUS) indicating the 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_INVALID_PARAMETER: username is NULL</li> </ul> </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a30175af61e448af11db8ed103bea888c">ResolveNames</a>, <a class="el" href="proto_8h.html#afcd8006481ea667864a055148777a07e">ModifyTable</a> </dd></dl> <p>References <a class="el" href="property_8c.html#af478ffaa186d5c107c1374a0b41d344a">cast_mapi_SPropValue()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapidefs_8h.html#a76eb88752de458ec4dd418f274b02c5d">MAPI_RESOLVED</a>, <a class="el" href="IUnknown_8c.html#a52246b3bbc755db550d9d13e772dd479">MAPIFreeBuffer()</a>, <a class="el" href="IMAPIContainer_8c.html#acb9fdb29dcfeb55d66053adde281c008">ModifyTable()</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="mapitags_8h.html#a449ee8cc69f5b054e2bc95f64d58322f">PR_DISPLAY_NAME</a>, <a class="el" href="mapitags_8h.html#a5930bac942504b6a4e0f80089137ccf3">PR_ENTRYID</a>, <a class="el" href="IABContainer_8c.html#a983fbb1c5d57401c0141770b48f6e533">ResolveNames()</a>, and <a class="el" href="property_8c.html#a08d81a8e5a6ec970d5ff891e325de402">set_SPropTagArray()</a>.</p> </div> </div> <a class="anchor" id="ac77ec981ccaa328f0fd1c9cdc03ae153"></a><!-- doxytag: member="simple_mapi.c::GetBestBody" ref="ac77ec981ccaa328f0fd1c9cdc03ae153" args="(mapi_object_t *obj_message, uint8_t *format)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS GetBestBody </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_message</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"> <em>format</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Implement the BestBody algorithm and return the best body content type for a given message.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI_E_NOT_FOUND. If MAPI_E_NOT_FOUND is returned then format is set to 0x0 (undefined). If MAPI_E_SUCCESS is returned, then format can have one of the following values:<ul> <li>olEditorText: format is plain text</li> <li>olEditorHTML: format is HTML</li> <li>olEditorRTF: format is RTF</li> </ul> </dd></dl> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>obj_message</em> </td><td>the message we find the best body for </td></tr> <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>the format - see above. </td></tr> </table> </dd> </dl> <p>References <a class="el" href="property_8c.html#a9b7f82ab0f8700a6ca1b1baf0a1d2d07">find_SPropValue_data()</a>, <a class="el" href="IMAPIProp_8c.html#ad71fddaae9ab98871ffe4fec3938a704">GetProps()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="IUnknown_8c.html#a52246b3bbc755db550d9d13e772dd479">MAPIFreeBuffer()</a>, <a class="el" href="structmapi__ctx.html#ada2a491501fdb736ced986fec5ffedc2">mapi_ctx::mem_ctx</a>, <a class="el" href="mapicode_8h.html#a7a4b9d7d8598946434a984fdb461eddb">OPENCHANGE_RETVAL_ERR</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="mapitags_8h.html#a46744c2b8906ab01eb075fd87fab6bad">PR_BODY</a>, <a class="el" href="mapitags_8h.html#a5ba0ababbfe7fa08178faa9b27ace978">PR_BODY_ERROR</a>, <a class="el" href="mapitags_8h.html#af34a31728e47b4525597c73f2588e7c8">PR_BODY_HTML_ERROR</a>, <a class="el" href="mapitags_8h.html#a37186c144f07a00e89a648e6bae02181">PR_HTML</a>, <a class="el" href="mapitags_8h.html#a7ddd961bd555972cdaad711d778b59ee">PR_RTF_COMPRESSED</a>, <a class="el" href="mapitags_8h.html#a4196a6605214c89e8d50cb5651a2ed46">PR_RTF_COMPRESSED_ERROR</a>, <a class="el" href="mapitags_8h.html#a06569c8d95a6c7cd4ead0a54b86ca013">PR_RTF_IN_SYNC</a>, and <a class="el" href="property_8c.html#a08d81a8e5a6ec970d5ff891e325de402">set_SPropTagArray()</a>.</p> </div> </div> <a class="anchor" id="afd821395dac16d9491e8cecd9743ff95"></a><!-- doxytag: member="simple_mapi.c::GetDefaultFolder" ref="afd821395dac16d9491e8cecd9743ff95" args="(mapi_object_t *obj_store, uint64_t *folder, const uint32_t id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS GetDefaultFolder </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_store</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t * </td> <td class="paramname"> <em>folder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const uint32_t </td> <td class="paramname"> <em>id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Retrieves the folder id for the specified default folder in a mailbox store</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_store</em> </td><td>the store to search </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the type of folder to search for </td></tr> <tr><td valign="top"></td><td valign="top"><em>folder</em> </td><td>the resulting folder reference</td></tr> </table> </dd> </dl> <p>The following types of folders are supported:</p> <ul> <li>olFolderTopInformationStore</li> <li>olFolderDeletedItems</li> <li>olFolderOutbox</li> <li>olFolderSentMail</li> <li>olFolderInbox</li> <li>olFolderCommonView</li> <li>olFolderCalendar</li> <li>olFolderContacts</li> <li>olFolderJournal</li> <li>olFolderNotes</li> <li>olFolderTasks</li> <li>olFolderDrafts</li> <li>olFolderReminders</li> <li>olFolderFinder</li> </ul> <p>Note that this function will cache FID values for common accessed folders such as calendar, contact, journal, note, task and drafts until the store object got released.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise a failure code (MAPISTATUS) indicating the 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_INVALID_PARAMETER: obj_store is undefined</li> <li>MAPI_E_NOT_FOUND: The specified folder could not be found or is not yet supported.</li> </ul> </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#ab293406ab51b9d0f5271a930480b2eec">MAPIInitialize</a>, <a class="el" href="proto_8h.html#af3ccf6c1f83aa3659f7c04a4fcd1cf5f">OpenMsgStore</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl> <p>References <a class="el" href="structmapi__obj__store.html#a661e229a8f1b4f1f3fea0af5714bb4bc">mapi_obj_store::cached_mailbox_fid</a>, <a class="el" href="structmapi__obj__store.html#acad609721b20564625a1097b80a4ebf5">mapi_obj_store::fid_calendar</a>, <a class="el" href="structmapi__obj__store.html#ad9eb061e94397fb376d7b9319519f7dd">mapi_obj_store::fid_common_views</a>, <a class="el" href="structmapi__obj__store.html#af6e35d09e89d4d441a59e40bb0af354e">mapi_obj_store::fid_contact</a>, <a class="el" href="structmapi__obj__store.html#a53488f1547d3479315be14868aa333c1">mapi_obj_store::fid_deleted_items</a>, <a class="el" href="structmapi__obj__store.html#a069fb2b6c5aacf4f86fdc94b2f60d7f3">mapi_obj_store::fid_drafts</a>, <a class="el" href="structmapi__obj__store.html#a7df17d77c596ed420bdacde67df0090e">mapi_obj_store::fid_inbox</a>, <a class="el" href="structmapi__obj__store.html#a18aa5eef3f9e292dfb06f3df53db4cd5">mapi_obj_store::fid_journal</a>, <a class="el" href="structmapi__obj__store.html#a1a9e439245a50223217139438c46180e">mapi_obj_store::fid_note</a>, <a class="el" href="structmapi__obj__store.html#a609576092e99a5f8dead00ed8db7d12b">mapi_obj_store::fid_outbox</a>, <a class="el" href="structmapi__obj__store.html#a643f0140faafe086b4ca4aefeda85389">mapi_obj_store::fid_search</a>, <a class="el" href="structmapi__obj__store.html#a7e91c6b4ec2ed35fd828ba4fa6edcbe8">mapi_obj_store::fid_sent_items</a>, <a class="el" href="structmapi__obj__store.html#a87fe4582945620070135ef5028c279f6">mapi_obj_store::fid_task</a>, <a class="el" href="structmapi__obj__store.html#a316d6a9100c3823ae062fbae51b58eb7">mapi_obj_store::fid_top_information_store</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapidefs_8h.html#a810c333ff7334cd3ad15ef4b465fa50a">olFolderCalendar</a>, <a class="el" href="mapidefs_8h.html#a712474f82e1fdc5479153ed05034488c">olFolderCommonView</a>, <a class="el" href="mapidefs_8h.html#ad5eccdedb55226bd05650606104cae8e">olFolderContacts</a>, <a class="el" href="mapidefs_8h.html#a88498a3d7e93bec98ad3b8893b6e0433">olFolderDeletedItems</a>, <a class="el" href="mapidefs_8h.html#a29eb64385e65627adf41b8e168d693de">olFolderDrafts</a>, <a class="el" href="mapidefs_8h.html#a186ed34b26755f1ee39dab7a3893e254">olFolderFinder</a>, <a class="el" href="mapidefs_8h.html#a5f2767a38a888e5b94e1a5266e6dfc55">olFolderInbox</a>, <a class="el" href="mapidefs_8h.html#ad19f3268a2bdb977b553724b68eada20">olFolderJournal</a>, <a class="el" href="mapidefs_8h.html#a64d0ac8644fa64027541363d4ccd2e73">olFolderNotes</a>, <a class="el" href="mapidefs_8h.html#a730114414a423ec724a9891e26ced275">olFolderOutbox</a>, <a class="el" href="mapidefs_8h.html#a5203e7a95fa803907e572b015f7c8f59">olFolderSentMail</a>, <a class="el" href="mapidefs_8h.html#a5a9f959f084b15f8d62ad77e0f997a83">olFolderTasks</a>, <a class="el" href="mapidefs_8h.html#a9f069f415518866945eadcf6e776282c">olFolderTopInformationStore</a>, <a class="el" href="mapicode_8h.html#a7a4b9d7d8598946434a984fdb461eddb">OPENCHANGE_RETVAL_ERR</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, and <a class="el" href="structmapi__object.html#af33195293d914107863508deadcfba80">mapi_object::private_data</a>.</p> </div> </div> <a class="anchor" id="a7bc03d63237c2f807fe8f272a1e5c0f2"></a><!-- doxytag: member="simple_mapi.c::GetDefaultPublicFolder" ref="a7bc03d63237c2f807fe8f272a1e5c0f2" args="(mapi_object_t *obj_store, uint64_t *folder, const uint32_t id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS GetDefaultPublicFolder </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_store</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t * </td> <td class="paramname"> <em>folder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const uint32_t </td> <td class="paramname"> <em>id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Retrieve the folder id for the specified default folder in a public folder store</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_store</em> </td><td>the store to search </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the type of folder to search for </td></tr> <tr><td valign="top"></td><td valign="top"><em>folder</em> </td><td>the resulting folder reference</td></tr> </table> </dd> </dl> <p>The following types of folders are supported:</p> <ul> <li>olFolderPublicRoot - the parent (directly or indirectly) for the folders below</li> <li>olFolderPublicIPMSubtree - Interpersonal Messages (IPM) folders</li> <li>olFolderPublicNonIPMSubtree - Non-interpersonal message folders</li> <li>olFolderPublicEFormsRoot - EForms Registry Root Folder</li> <li>olFolderPublicFreeBusyRoot - Free/busy root folder</li> <li>olFolderPublicOfflineAB - Offline address book root folder</li> <li>olFolderPublicEFormsRegistry - EForms Registry for the users locale</li> <li>olFolderPublicLocalFreeBusy - Site local free/busy folders</li> <li>olFolderPublicLocalOfflineAB - Site local Offline address book</li> <li>olFolderPublicNNTPArticle - NNTP article index folder</li> </ul> <dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise a failure code (MAPISTATUS) indicating the 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_INVALID_PARAMETER: obj_store is undefined</li> <li>MAPI_E_NOT_FOUND: The specified folder could not be found or is not yet supported.</li> </ul> </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#ab293406ab51b9d0f5271a930480b2eec">MAPIInitialize</a>, <a class="el" href="proto_8h.html#ac27ee071a1b0d8344bb0320a4a647f54">OpenPublicFolder</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl> <p>References <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapidefs_8h.html#a01ee19e770e6eb06af0986de5b7b1065">olFolderPublicEFormsRegistry</a>, <a class="el" href="mapidefs_8h.html#a006ef566aca064ee6d0894c69687c2f9">olFolderPublicEFormsRoot</a>, <a class="el" href="mapidefs_8h.html#af83bb47d4df6732781e20dce27ae543b">olFolderPublicFreeBusyRoot</a>, <a class="el" href="mapidefs_8h.html#a2ae2939f81528687845c0de168168e3a">olFolderPublicIPMSubtree</a>, <a class="el" href="mapidefs_8h.html#af6c6368c9193e1aecbc913cdfdd0b495">olFolderPublicLocalFreeBusy</a>, <a class="el" href="mapidefs_8h.html#ab21e345a71db61a9f28304a80b33eb6c">olFolderPublicLocalOfflineAB</a>, <a class="el" href="mapidefs_8h.html#ac059444021058c8e8b140e227b8e4fb2">olFolderPublicNNTPArticle</a>, <a class="el" href="mapidefs_8h.html#aa48a940ab5777a126483d5519bed2b0e">olFolderPublicNonIPMSubtree</a>, <a class="el" href="mapidefs_8h.html#aa4150c6c3fe48d6240fccae1581e8d3c">olFolderPublicOfflineAB</a>, <a class="el" href="mapidefs_8h.html#a7d2a5f8c5bc44ce399be17ffd9225778">olFolderPublicRoot</a>, <a class="el" href="mapicode_8h.html#a7a4b9d7d8598946434a984fdb461eddb">OPENCHANGE_RETVAL_ERR</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, and <a class="el" href="structmapi__object.html#af33195293d914107863508deadcfba80">mapi_object::private_data</a>.</p> <p>Referenced by <a class="el" href="proto_8h.html#a51ddeca55f13055917a8b43d28a5f11f">GetUserFreeBusyData()</a>.</p> </div> </div> <a class="anchor" id="a7b3fc634875a5d59ea50a4b8f0b11074"></a><!-- doxytag: member="simple_mapi.c::GetFolderItemsCount" ref="a7b3fc634875a5d59ea50a4b8f0b11074" args="(mapi_object_t *obj_folder, uint32_t *unread, uint32_t *total)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS GetFolderItemsCount </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_folder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>unread</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>total</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Retrieves the total and unread number of items for a specified 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> </td><td>the folder to get item counts for </td></tr> <tr><td valign="top"></td><td valign="top"><em>unread</em> </td><td>the number of items in the folder (result) </td></tr> <tr><td valign="top"></td><td valign="top"><em>total</em> </td><td>the number of items in the folder, including unread items (result)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise a failure code (MAPISTATUS) indicating the 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_INVALID_PARAMETER: obj_folder is undefined</li> <li>MAPI_E_NOT_FOUND: The specified folder could not be found or is not yet supported.</li> </ul> </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#ab293406ab51b9d0f5271a930480b2eec">MAPIInitialize</a>, <a class="el" href="proto_8h.html#a5d20a82a73d463254ac5e688f0f0cb0f">OpenFolder</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl> <p>References <a class="el" href="IMAPIProp_8c.html#ad71fddaae9ab98871ffe4fec3938a704">GetProps()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="IUnknown_8c.html#a52246b3bbc755db550d9d13e772dd479">MAPIFreeBuffer()</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="mapitags_8h.html#adf85bc9f7fd92d9211b6ceaaa3da1b35">PR_CONTENT_COUNT</a>, <a class="el" href="mapitags_8h.html#a4e50f2550bb507cff065709ef7d17a98">PR_CONTENT_UNREAD</a>, and <a class="el" href="property_8c.html#a08d81a8e5a6ec970d5ff891e325de402">set_SPropTagArray()</a>.</p> </div> </div> <a class="anchor" id="a498db9fabc50af64a4c72d324a8f7a1e"></a><!-- doxytag: member="simple_mapi.c::IsMailboxFolder" ref="a498db9fabc50af64a4c72d324a8f7a1e" args="(mapi_object_t *obj_store, uint64_t fid, uint32_t *olFolder)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ bool IsMailboxFolder </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_store</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint64_t </td> <td class="paramname"> <em>fid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>olFolder</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Check if a given folder identifier matches with a system/default one and optionally returns the olFolder type</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_store</em> </td><td>pointer to the store object </td></tr> <tr><td valign="top"></td><td valign="top"><em>fid</em> </td><td>reference to the folder identifier to check </td></tr> <tr><td valign="top"></td><td valign="top"><em>olFolder</em> </td><td>pointer to the returned olFolder</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>true on success, otherwise false </dd></dl> <p>References <a class="el" href="structmapi__obj__store.html#a661e229a8f1b4f1f3fea0af5714bb4bc">mapi_obj_store::cached_mailbox_fid</a>, <a class="el" href="structmapi__obj__store.html#acad609721b20564625a1097b80a4ebf5">mapi_obj_store::fid_calendar</a>, <a class="el" href="structmapi__obj__store.html#ad9eb061e94397fb376d7b9319519f7dd">mapi_obj_store::fid_common_views</a>, <a class="el" href="structmapi__obj__store.html#af6e35d09e89d4d441a59e40bb0af354e">mapi_obj_store::fid_contact</a>, <a class="el" href="structmapi__obj__store.html#a53488f1547d3479315be14868aa333c1">mapi_obj_store::fid_deleted_items</a>, <a class="el" href="structmapi__obj__store.html#a069fb2b6c5aacf4f86fdc94b2f60d7f3">mapi_obj_store::fid_drafts</a>, <a class="el" href="structmapi__obj__store.html#a7df17d77c596ed420bdacde67df0090e">mapi_obj_store::fid_inbox</a>, <a class="el" href="structmapi__obj__store.html#a18aa5eef3f9e292dfb06f3df53db4cd5">mapi_obj_store::fid_journal</a>, <a class="el" href="structmapi__obj__store.html#a1a9e439245a50223217139438c46180e">mapi_obj_store::fid_note</a>, <a class="el" href="structmapi__obj__store.html#a609576092e99a5f8dead00ed8db7d12b">mapi_obj_store::fid_outbox</a>, <a class="el" href="structmapi__obj__store.html#a643f0140faafe086b4ca4aefeda85389">mapi_obj_store::fid_search</a>, <a class="el" href="structmapi__obj__store.html#a7e91c6b4ec2ed35fd828ba4fa6edcbe8">mapi_obj_store::fid_sent_items</a>, <a class="el" href="structmapi__obj__store.html#a87fe4582945620070135ef5028c279f6">mapi_obj_store::fid_task</a>, <a class="el" href="structmapi__obj__store.html#a316d6a9100c3823ae062fbae51b58eb7">mapi_obj_store::fid_top_information_store</a>, and <a class="el" href="structmapi__object.html#af33195293d914107863508deadcfba80">mapi_object::private_data</a>.</p> </div> </div> <a class="anchor" id="a9cb54788ad5b18ab5e714405a043b049"></a><!-- doxytag: member="simple_mapi.c::ModifyUserPermission" ref="a9cb54788ad5b18ab5e714405a043b049" args="(mapi_object_t *obj_folder, const char *username, enum ACLRIGHTS role)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS ModifyUserPermission </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_folder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>username</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">enum ACLRIGHTS </td> <td class="paramname"> <em>role</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Modify permissions for a user on a given 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> </td><td>the folder we add permission for </td></tr> <tr><td valign="top"></td><td valign="top"><em>username</em> </td><td>the Exchange username we modify permissions for </td></tr> <tr><td valign="top"></td><td valign="top"><em>role</em> </td><td>the permission mask value (see AddUserPermission)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise a failure code (MAPISTATUS) indicating the 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_INVALID_PARAMETER: username is NULL</li> <li>MAPI_E_NOT_FOUND: couldn't find or change permissions for the given user</li> </ul> </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="simple__mapi_8c.html#a2445fb102be62563bdd8d24025f3be2b">AddUserPermission</a>, <a class="el" href="proto_8h.html#a30175af61e448af11db8ed103bea888c">ResolveNames</a>, <a class="el" href="proto_8h.html#a0c8a9b8fc54139a1411aa9264acbe200">GetTable</a>, <a class="el" href="proto_8h.html#afcd8006481ea667864a055148777a07e">ModifyTable</a> </dd></dl> <p>References <a class="el" href="property_8c.html#a9b7f82ab0f8700a6ca1b1baf0a1d2d07">find_SPropValue_data()</a>, <a class="el" href="property_8c.html#a46eadf970c1d4dd029d7ff447d0b0db5">get_SPropValue_SRow()</a>, <a class="el" href="IMAPIContainer_8c.html#aa4a0b96b29406952c941ab7ac5b47132">GetTable()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c.html#af49c3130b8cb47f741ff652fc53c1364">mapi_object_init()</a>, <a class="el" href="mapi__object_8c.html#ade2b4701fae8a110c476b894834831b9">mapi_object_release()</a>, <a class="el" href="mapidefs_8h.html#a76eb88752de458ec4dd418f274b02c5d">MAPI_RESOLVED</a>, <a class="el" href="IUnknown_8c.html#a52246b3bbc755db550d9d13e772dd479">MAPIFreeBuffer()</a>, <a class="el" href="IMAPIContainer_8c.html#acb9fdb29dcfeb55d66053adde281c008">ModifyTable()</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="mapitags_8h.html#a449ee8cc69f5b054e2bc95f64d58322f">PR_DISPLAY_NAME</a>, <a class="el" href="mapitags_8h.html#a5930bac942504b6a4e0f80089137ccf3">PR_ENTRYID</a>, <a class="el" href="mapitags_8h.html#a6c7f78642bdc52aa13761b533230cd99">PR_MEMBER_ID</a>, <a class="el" href="mapitags_8h.html#a0c8b7a33514c253adb01d056095a3563">PR_MEMBER_NAME</a>, <a class="el" href="mapitags_8h.html#a7339b5c08285fdf17e24635f37927b10">PR_MEMBER_RIGHTS</a>, <a class="el" href="IMAPITable_8c.html#ac40c37ca1ee53f09c1ce9639fa7eaa53">QueryPosition()</a>, <a class="el" href="IMAPITable_8c.html#ae5890f112bb41a03f6ecbe90a16687c4">QueryRows()</a>, <a class="el" href="IABContainer_8c.html#a983fbb1c5d57401c0141770b48f6e533">ResolveNames()</a>, <a class="el" href="property_8c.html#a08d81a8e5a6ec970d5ff891e325de402">set_SPropTagArray()</a>, and <a class="el" href="IMAPITable_8c.html#a266cd7f791acf5d9721f5e9e8ac5d49f">SetColumns()</a>.</p> </div> </div> <a class="anchor" id="a6b974921b0a3421b48933e564230d664"></a><!-- doxytag: member="simple_mapi.c::RemoveUserPermission" ref="a6b974921b0a3421b48933e564230d664" args="(mapi_object_t *obj_folder, const char *username)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS RemoveUserPermission </td> <td>(</td> <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> * </td> <td class="paramname"> <em>obj_folder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>username</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Remove permissions for a user on a given 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> </td><td>the folder we add permission for </td></tr> <tr><td valign="top"></td><td valign="top"><em>username</em> </td><td>the Exchange username we remove permissions for</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise a failure code (MAPISTATUS) indicating the 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_INVALID_PARAMETER: username or obj_folder are NULL</li> <li>MAPI_E_NOT_FOUND: couldn't find or remove permissions for the given user</li> </ul> </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="proto_8h.html#a30175af61e448af11db8ed103bea888c">ResolveNames</a>, <a class="el" href="proto_8h.html#a0c8a9b8fc54139a1411aa9264acbe200">GetTable</a>, <a class="el" href="proto_8h.html#afcd8006481ea667864a055148777a07e">ModifyTable</a> </dd></dl> <p>References <a class="el" href="property_8c.html#a9b7f82ab0f8700a6ca1b1baf0a1d2d07">find_SPropValue_data()</a>, <a class="el" href="property_8c.html#a46eadf970c1d4dd029d7ff447d0b0db5">get_SPropValue_SRow()</a>, <a class="el" href="IMAPIContainer_8c.html#aa4a0b96b29406952c941ab7ac5b47132">GetTable()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="mapi__object_8c.html#ae5ef3137838fbc0c3eaedd7da99f8adc">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c.html#af49c3130b8cb47f741ff652fc53c1364">mapi_object_init()</a>, <a class="el" href="mapi__object_8c.html#ade2b4701fae8a110c476b894834831b9">mapi_object_release()</a>, <a class="el" href="mapidefs_8h.html#a76eb88752de458ec4dd418f274b02c5d">MAPI_RESOLVED</a>, <a class="el" href="IUnknown_8c.html#a52246b3bbc755db550d9d13e772dd479">MAPIFreeBuffer()</a>, <a class="el" href="IMAPIContainer_8c.html#acb9fdb29dcfeb55d66053adde281c008">ModifyTable()</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="mapitags_8h.html#a449ee8cc69f5b054e2bc95f64d58322f">PR_DISPLAY_NAME</a>, <a class="el" href="mapitags_8h.html#a5930bac942504b6a4e0f80089137ccf3">PR_ENTRYID</a>, <a class="el" href="mapitags_8h.html#a6c7f78642bdc52aa13761b533230cd99">PR_MEMBER_ID</a>, <a class="el" href="mapitags_8h.html#a0c8b7a33514c253adb01d056095a3563">PR_MEMBER_NAME</a>, <a class="el" href="mapitags_8h.html#a7339b5c08285fdf17e24635f37927b10">PR_MEMBER_RIGHTS</a>, <a class="el" href="IMAPITable_8c.html#ac40c37ca1ee53f09c1ce9639fa7eaa53">QueryPosition()</a>, <a class="el" href="IMAPITable_8c.html#ae5890f112bb41a03f6ecbe90a16687c4">QueryRows()</a>, <a class="el" href="IABContainer_8c.html#a983fbb1c5d57401c0141770b48f6e533">ResolveNames()</a>, <a class="el" href="property_8c.html#a08d81a8e5a6ec970d5ff891e325de402">set_SPropTagArray()</a>, and <a class="el" href="IMAPITable_8c.html#a266cd7f791acf5d9721f5e9e8ac5d49f">SetColumns()</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>