<html> <head> <title>MAPIClientLibraries 0.8 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.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <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="tabs"> <ul> <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="contents"> <h1>libmapi/IUnknown.c File Reference</h1>Various miscellaneous (ungrouped) functions. <a href="#_details">More...</a> <p> <code>#include <libmapi/libmapi.h></code><br> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="IUnknown_8c.html#ba4bb09c20f330cb5350dc3e2e6d30e0">GetIdFromLongTermId</a> (mapi_object_t *obj, struct LongTermId long_term_id, mapi_id_t *id)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="IUnknown_8c.html#16307ed073c15538e8019b1bea2f3992">GetLongTermIdFromId</a> (mapi_object_t *obj, mapi_id_t id, struct LongTermId *long_term_id)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="IUnknown_8c.html#80368a20fb363b94193d3e7fd977f722">MAPIAllocateBuffer</a> (uint32_t size, void **ptr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="IUnknown_8c.html#52246b3bbc755db550d9d13e772dd479">MAPIFreeBuffer</a> (void *ptr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="IUnknown_8c.html#b3f224d83f10cbbcbeeeff3f4f73f230">Release</a> (mapi_object_t *obj)</td></tr> </table> <hr><h2>Detailed Description</h2> Various miscellaneous (ungrouped) functions. <p> <hr><h2>Function Documentation</h2> <a class="anchor" name="ba4bb09c20f330cb5350dc3e2e6d30e0"></a><!-- doxytag: member="IUnknown.c::GetIdFromLongTermId" ref="ba4bb09c20f330cb5350dc3e2e6d30e0" args="(mapi_object_t *obj, struct LongTermId long_term_id, mapi_id_t *id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS GetIdFromLongTermId </td> <td>(</td> <td class="paramtype">mapi_object_t * </td> <td class="paramname"> <em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct LongTermId </td> <td class="paramname"> <em>long_term_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">mapi_id_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> Convert an Long Term Id into an Id<p> The function looks up the Id for a specified Long Term Id value.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>the object to look up on </td></tr> <tr><td valign="top"></td><td valign="top"><em>long_term_id</em> </td><td>the id to look up </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the id returned by the server</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl> <dl class="note" compact><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">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 is null</li><li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li></ul> </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IUnknown_8c.html#16307ed073c15538e8019b1bea2f3992">GetLongTermIdFromId</a> </dd></dl> <p>References <a class="el" href="emsmdb_8c_source.html#l00283">emsmdb_transaction()</a>, <a class="el" href="mapi__object_8c_source.html#l00264">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c_source.html#l00238">mapi_object_get_logon_id()</a>, and <a class="el" href="mapi__object_8c_source.html#l00165">mapi_object_get_session()</a>.</p> </div> </div><p> <a class="anchor" name="8237c7fc76377cb07f3f55920d6f20de"></a><!-- doxytag: member="IUnknown.c::GetLastError" ref="8237c7fc76377cb07f3f55920d6f20de" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS GetLastError </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the latest error code.<p> This function returns the error code set by a previous function call.<p> <dl class="note" compact><dt><b>Note:</b></dt><dd>Calls to the function won't work in multi-threaded or multisession code. </dd></dl> <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="mapi__sample1_8c-example.html#a1">mapi_sample1.c</a>.</dl> <p>Referenced by <a class="el" href="mapi__nameid_8c_source.html#l00852">mapi_nameid_GetIDsFromNames()</a>, <a class="el" href="IMAPISession_8c_source.html#l00261">OpenMsgStore()</a>, and <a class="el" href="lzfu_8c_source.html#l00100">WrapCompressedRTFStream()</a>.</p> </div> </div><p> <a class="anchor" name="16307ed073c15538e8019b1bea2f3992"></a><!-- doxytag: member="IUnknown.c::GetLongTermIdFromId" ref="16307ed073c15538e8019b1bea2f3992" args="(mapi_object_t *obj, mapi_id_t id, struct LongTermId *long_term_id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS GetLongTermIdFromId </td> <td>(</td> <td class="paramtype">mapi_object_t * </td> <td class="paramname"> <em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">mapi_id_t </td> <td class="paramname"> <em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct LongTermId * </td> <td class="paramname"> <em>long_term_id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Convert an ID to a Long Term Id<p> The function looks up the Long Term Id for a specified ID value.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>the object to look up on </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the id to look up </td></tr> <tr><td valign="top"></td><td valign="top"><em>long_term_id</em> </td><td>the long term ID returned from the server</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl> <dl class="note" compact><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">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 is null</li><li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li></ul> </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IUnknown_8c.html#ba4bb09c20f330cb5350dc3e2e6d30e0">GetIdFromLongTermId</a> </dd></dl> <p>References <a class="el" href="emsmdb_8c_source.html#l00283">emsmdb_transaction()</a>, <a class="el" href="mapi__object_8c_source.html#l00264">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c_source.html#l00238">mapi_object_get_logon_id()</a>, and <a class="el" href="mapi__object_8c_source.html#l00165">mapi_object_get_session()</a>.</p> </div> </div><p> <a class="anchor" name="80368a20fb363b94193d3e7fd977f722"></a><!-- doxytag: member="IUnknown.c::MAPIAllocateBuffer" ref="80368a20fb363b94193d3e7fd977f722" args="(uint32_t size, void **ptr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS MAPIAllocateBuffer </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void ** </td> <td class="paramname"> <em>ptr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Allocate memory using the MAPI memory context<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>the number of bytes to allocate </td></tr> <tr><td valign="top"></td><td valign="top"><em>ptr</em> </td><td>pointer to the allocated byte region</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl> <dl class="note" compact><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">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_SESSION_LIMIT: No session has been opened on the provider</li><li>MAPI_E_NOT_ENOUGH_RESOURCES: MAPI subsystem failed to allocate the necessary resources to operate properly</li><li>MAPI_E_INVALID_PARAMER: size is not set properly.</li></ul> </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IUnknown_8c.html#52246b3bbc755db550d9d13e772dd479">MAPIFreeBuffer</a>, <a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl> </div> </div><p> <a class="anchor" name="52246b3bbc755db550d9d13e772dd479"></a><!-- doxytag: member="IUnknown.c::MAPIFreeBuffer" ref="52246b3bbc755db550d9d13e772dd479" args="(void *ptr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS MAPIFreeBuffer </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>ptr</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Free allocated memory<p> This function frees memory previously allocated with MAPIAllocateBuffer.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ptr</em> </td><td>memory region to free</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl> <dl class="note" compact><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">GetLastError()</a> to retrieve the last MAPI error code. Possible MAPI error codes are:<ul> <li>MAPI_E_INVALID_PARAMER: ptr is not set properly.</li></ul> </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IUnknown_8c.html#80368a20fb363b94193d3e7fd977f722">MAPIAllocateBuffer</a>, <a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl> <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="fetchappointment_8c-example.html#a9">fetchappointment.c</a>, and <a class="el" href="fetchmail_8c-example.html#a9">fetchmail.c</a>.</dl> <p>Referenced by <a class="el" href="simple__mapi_8c_source.html#l00461">AddUserPermission()</a>, <a class="el" href="IMAPITable_8c_source.html#l00782">FreeBookmark()</a>, <a class="el" href="IABContainer_8c_source.html#l00187">GetABRecipientInfo()</a>, <a class="el" href="simple__mapi_8c_source.html#l00744">GetBestBody()</a>, <a class="el" href="simple__mapi_8c_source.html#l00388">GetFolderItemsCount()</a>, <a class="el" href="IMAPIProp_8c_source.html#l00059">GetProps()</a>, <a class="el" href="freebusy_8c_source.html#l00057">GetUserFreeBusyData()</a>, <a class="el" href="simple__mapi_8c_source.html#l00530">ModifyUserPermission()</a>, <a class="el" href="IProfAdmin_8c_source.html#l01240">ProcessNetworkProfile()</a>, <a class="el" href="simple__mapi_8c_source.html#l00643">RemoveUserPermission()</a>, <a class="el" href="IMAPIProp_8c_source.html#l00627">SetPropertiesNoReplicate()</a>, and <a class="el" href="IMAPIProp_8c_source.html#l00181">SetProps()</a>.</p> </div> </div><p> <a class="anchor" name="b3f224d83f10cbbcbeeeff3f4f73f230"></a><!-- doxytag: member="IUnknown.c::Release" ref="b3f224d83f10cbbcbeeeff3f4f73f230" args="(mapi_object_t *obj)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_PUBLIC_ enum MAPISTATUS Release </td> <td>(</td> <td class="paramtype">mapi_object_t * </td> <td class="paramname"> <em>obj</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Release an object on the server<p> The function releases the object <em>obj</em> on the server.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>obj</em> </td><td>the object to release</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error.</dd></dl> <dl class="note" compact><dt><b>Note:</b></dt><dd>Developers may also call <a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">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" compact><dt><b>See also:</b></dt><dd><a class="el" href="IUnknown_8c.html#8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl> <p>References <a class="el" href="emsmdb_8c_source.html#l00283">emsmdb_transaction()</a>, <a class="el" href="mapi__object_8c_source.html#l00264">mapi_object_get_handle()</a>, <a class="el" href="mapi__object_8c_source.html#l00238">mapi_object_get_logon_id()</a>, and <a class="el" href="mapi__object_8c_source.html#l00165">mapi_object_get_session()</a>.</p> <p>Referenced by <a class="el" href="mapi__object_8c_source.html#l00092">mapi_object_release()</a>, and <a class="el" href="IMAPISupport_8c_source.html#l00195">Unsubscribe()</a>.</p> </div> </div><p> </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>