Sophie

Sophie

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

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/IMAPISupport.c File Reference</h1>  </div>
</div>
<div class="contents">

<p>MAPI notifications functions.  
<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="IMAPISupport_8c.html#adc7b00c3f0c5f688ff6eb96228e98191">DispatchNotifications</a> (struct <a class="el" href="structmapi__session.html">mapi_session</a> *session)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPISupport_8c.html#aa673e23d955303227b950c4f9ec6a2c0">MonitorNotification</a> (struct <a class="el" href="structmapi__session.html">mapi_session</a> *session, void *private_data, struct <a class="el" href="structmapi__notify__continue__callback__data.html">mapi_notify_continue_callback_data</a> *cb_data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPISupport_8c.html#a3c29b5dc6b137be136a5cf2695d55126">ProcessNotification</a> (struct <a class="el" href="structmapi__notify__ctx.html">mapi_notify_ctx</a> *notify_ctx, struct mapi_response *mapi_response)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPISupport_8c.html#a30f5d03776a9e432af19d6803ee5784e">Subscribe</a> (<a class="el" href="structmapi__object.html">mapi_object_t</a> *obj, uint32_t *connection, uint16_t NotificationFlags, bool WholeStore, <a class="el" href="mapi__notification_8h.html#aba1ebb5939de8250bc85c0691131ebef">mapi_notify_callback_t</a> notify_callback, void *private_data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IMAPISupport_8c.html#a35355b1cdd5ef508f1f57a41842f8bd9">Unsubscribe</a> (struct <a class="el" href="structmapi__session.html">mapi_session</a> *session, uint32_t ulConnection)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>MAPI notifications functions. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="adc7b00c3f0c5f688ff6eb96228e98191"></a><!-- doxytag: member="IMAPISupport.c::DispatchNotifications" ref="adc7b00c3f0c5f688ff6eb96228e98191" args="(struct mapi_session *session)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS DispatchNotifications </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__session.html">mapi_session</a> *&nbsp;</td>
          <td class="paramname"> <em>session</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Force notification of pending events</p>
<p>This function force the server to send any pending notificaion and process them. These MAPI notifications are next compared to the registered ones and the callback specified in <a class="el" href="IMAPISupport_8c.html#a30f5d03776a9e432af19d6803ee5784e">Subscribe()</a> called if it matches.</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#a1eda5ec73d03a2a9afd0d3a68cc6615c">RegisterNotification</a>, <a class="el" href="proto_8h.html#a73891d48327dd1afee64dba5b7cfddc0">Subscribe</a>, <a class="el" href="proto_8h.html#ade9573642b24da1b4fbdbde2092f6048">Unsubscribe</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#a7f4dfd76879dea2bf003f52d8bce38d3">emsmdb_transaction_null()</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structmapi__session.html#aac9c83fd213feed2c69ca8300551a44f">mapi_session::notify_ctx</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, and <a class="el" href="IMAPISupport_8c.html#a3c29b5dc6b137be136a5cf2695d55126">ProcessNotification()</a>.</p>

</div>
</div>
<a class="anchor" id="aa673e23d955303227b950c4f9ec6a2c0"></a><!-- doxytag: member="IMAPISupport.c::MonitorNotification" ref="aa673e23d955303227b950c4f9ec6a2c0" args="(struct mapi_session *session, void *private_data, struct mapi_notify_continue_callback_data *cb_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS MonitorNotification </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__session.html">mapi_session</a> *&nbsp;</td>
          <td class="paramname"> <em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>private_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structmapi__notify__continue__callback__data.html">mapi_notify_continue_callback_data</a> *&nbsp;</td>
          <td class="paramname"> <em>cb_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Wait for notifications and process them</p>
<p>This function waits for notifications on the UDP port and generates the traffic needed to receive MAPI notifications. These MAPI notifications are next compared to the registered ones and the callback specified in <a class="el" href="IMAPISupport_8c.html#a30f5d03776a9e432af19d6803ee5784e">Subscribe()</a> called if it matches.</p>
<p>The function takes a callback in cb_data to check if it should continue to process notifications. Timeval in cb_data can be used to control the behavior of select.</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#a1eda5ec73d03a2a9afd0d3a68cc6615c">RegisterNotification</a>, <a class="el" href="proto_8h.html#a73891d48327dd1afee64dba5b7cfddc0">Subscribe</a>, <a class="el" href="proto_8h.html#ade9573642b24da1b4fbdbde2092f6048">Unsubscribe</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a></dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This code is experimental. The current implementation is non-threaded, only supports fnevNewmail and fnevCreatedObject notifications and will block your process until you send a signal. </dd></dl>

<p>References <a class="el" href="structmapi__notify__continue__callback__data.html#aa96602edcb86a6cb728d438011d7fca7">mapi_notify_continue_callback_data::callback</a>, <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="structmapi__notify__continue__callback__data.html#aa44595b09b7959554e7b8b4c75b2bd1c">mapi_notify_continue_callback_data::data</a>, <a class="el" href="structmapi__session.html#a0d032340047573649b7527e660cac594">mapi_session::emsmdb</a>, <a class="el" href="emsmdb_8c.html#a7f4dfd76879dea2bf003f52d8bce38d3">emsmdb_transaction_null()</a>, <a class="el" href="structmapi__notify__ctx.html#a1bdda4c03f900110d2c3f7704d64a303">mapi_notify_ctx::fd</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structmapi__session.html#aac9c83fd213feed2c69ca8300551a44f">mapi_session::notify_ctx</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="IMAPISupport_8c.html#a3c29b5dc6b137be136a5cf2695d55126">ProcessNotification()</a>, and <a class="el" href="structmapi__notify__continue__callback__data.html#ac5f46eae5a624d7af2d5990c26f7509f">mapi_notify_continue_callback_data::tv</a>.</p>

</div>
</div>
<a class="anchor" id="a3c29b5dc6b137be136a5cf2695d55126"></a><!-- doxytag: member="IMAPISupport.c::ProcessNotification" ref="a3c29b5dc6b137be136a5cf2695d55126" args="(struct mapi_notify_ctx *notify_ctx, struct mapi_response *mapi_response)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum MAPISTATUS ProcessNotification </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__notify__ctx.html">mapi_notify_ctx</a> *&nbsp;</td>
          <td class="paramname"> <em>notify_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct mapi_response *&nbsp;</td>
          <td class="paramname"> <em>mapi_response</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>References <a class="el" href="structnotifications.html#a85c71fc13f5399db560bd581d39143a5">notifications::callback</a>, <a class="el" href="mapi__object_8c.html#aa94645f34e6c4bf1c0631dffb0742676">mapi_object_get_handle()</a>, <a class="el" href="structnotifications.html#a4152e7c0dad1b9e6dea80b3ec709509e">notifications::next</a>, <a class="el" href="structnotifications.html#a558f75bb0b16bd7c5e9096429adb3b11">notifications::NotificationFlags</a>, <a class="el" href="structmapi__notify__ctx.html#a1fc5d293b50a5d0fcdb9c849f4ec122d">mapi_notify_ctx::notifications</a>, <a class="el" href="structnotifications.html#aaada0e45c2499fbe55849496f867cc3c">notifications::obj_notif</a>, <a class="el" href="structnotifications.html#a7a2fcc424d356af6e27b43839a70cb60">notifications::private_data</a>, and <a class="el" href="structnotifications.html#aa3003af84e7e3cba48d58da6d0f441de">notifications::ulConnection</a>.</p>

<p>Referenced by <a class="el" href="proto_8h.html#a5f9f3f93fc555e96f05ac0a9fd0a3e9d">DispatchNotifications()</a>, and <a class="el" href="proto_8h.html#a875788729bf87923b16b1d2cab952d59">MonitorNotification()</a>.</p>

</div>
</div>
<a class="anchor" id="a30f5d03776a9e432af19d6803ee5784e"></a><!-- doxytag: member="IMAPISupport.c::Subscribe" ref="a30f5d03776a9e432af19d6803ee5784e" args="(mapi_object_t *obj, uint32_t *connection, uint16_t NotificationFlags, bool WholeStore, mapi_notify_callback_t notify_callback, void *private_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS Subscribe </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmapi__object.html">mapi_object_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>connection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>NotificationFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>WholeStore</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mapi__notification_8h.html#aba1ebb5939de8250bc85c0691131ebef">mapi_notify_callback_t</a>&nbsp;</td>
          <td class="paramname"> <em>notify_callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>private_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Register an object to receive notifications</p>
<p>This function registers notifications on the Exchange server for an object. The function holds the notifications intended to be monitored in as a bitmask.</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</em>&nbsp;</td><td>the object to get notifications for </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>connection</em>&nbsp;</td><td>connection identifier for callabck function </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NotificationFlags</em>&nbsp;</td><td>mask for events to provide notifications for (see below) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>WholeStore</em>&nbsp;</td><td>whether the scope for this notification is whole database </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>notify_callback</em>&nbsp;</td><td>notification callback function. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>private_data</em>&nbsp;</td><td>the data to be passed at the callback function when invoked</td></tr>
  </table>
  </dd>
</dl>
<p>The Notification Flags can take the following values:</p>
<ul>
<li>fnevCriticalError</li>
<li>fnevNewMail</li>
<li>fnevObjectCreated</li>
<li>fnevObjectDeleted</li>
<li>fnevObjectModified</li>
<li>fnevObjectMoved</li>
<li>fnevObjectCopied</li>
<li>fnevSearchComplete</li>
<li>fnevTableModified</li>
<li>fnevStatusObjectModified</li>
<li>fnevReservedForMapi</li>
<li>fnevExtended</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#a1eda5ec73d03a2a9afd0d3a68cc6615c">RegisterNotification</a>, <a class="el" href="proto_8h.html#ade9573642b24da1b4fbdbde2092f6048">Unsubscribe</a>, <a class="el" href="proto_8h.html#a875788729bf87923b16b1d2cab952d59">MonitorNotification</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl>

<p>References <a class="el" href="structnotifications.html#a85c71fc13f5399db560bd581d39143a5">notifications::callback</a>, <a class="el" href="structmapi__provider.html#aa2906ad67334b042836f003e766d6d64">mapi_provider::ctx</a>, <a class="el" href="dlinklist_8h.html#a416df1fd77df5d1568779b3c62dba178">DLIST_ADD</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#ad4477e1e7c6dd8314638a9886b570209">mapi_object_get_id()</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#af49c3130b8cb47f741ff652fc53c1364">mapi_object_init()</a>, <a class="el" href="mapi__object_8c.html#a6cad283dc5a1228734e816adb30aa53c">mapi_object_set_handle()</a>, <a class="el" href="mapi__object_8c.html#a373e9bd46155ea22e816fa66944f22a6">mapi_object_set_session()</a>, <a class="el" href="structnotifications.html#a558f75bb0b16bd7c5e9096429adb3b11">notifications::NotificationFlags</a>, <a class="el" href="structmapi__notify__ctx.html#a1fc5d293b50a5d0fcdb9c849f4ec122d">mapi_notify_ctx::notifications</a>, <a class="el" href="structmapi__session.html#aac9c83fd213feed2c69ca8300551a44f">mapi_session::notify_ctx</a>, <a class="el" href="structnotifications.html#aaada0e45c2499fbe55849496f867cc3c">notifications::obj_notif</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="structnotifications.html#ac783737b71e74c0b1f10074b9cdb83f7">notifications::parentID</a>, <a class="el" href="structnotifications.html#a7a2fcc424d356af6e27b43839a70cb60">notifications::private_data</a>, and <a class="el" href="structnotifications.html#aa3003af84e7e3cba48d58da6d0f441de">notifications::ulConnection</a>.</p>

</div>
</div>
<a class="anchor" id="a35355b1cdd5ef508f1f57a41842f8bd9"></a><!-- doxytag: member="IMAPISupport.c::Unsubscribe" ref="a35355b1cdd5ef508f1f57a41842f8bd9" args="(struct mapi_session *session, uint32_t ulConnection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS Unsubscribe </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structmapi__session.html">mapi_session</a> *&nbsp;</td>
          <td class="paramname"> <em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>ulConnection</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Unregister notifications on a given object.</p>
<p>Cancel any notification registrations associated with the notify object. This function unregisters notifications on the Exchange server for the object specified with its connection number ulConnection. The function will releases the notification on the Exchange server and remove the entry from the internal notifications list.</p>
<p>The function takes a callback to execute when such notification occurs and returns the ulConnection identifier we can use in further management.</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#a1eda5ec73d03a2a9afd0d3a68cc6615c">RegisterNotification</a>, <a class="el" href="proto_8h.html#a73891d48327dd1afee64dba5b7cfddc0">Subscribe</a>, <a class="el" href="proto_8h.html#a875788729bf87923b16b1d2cab952d59">MonitorNotification</a>, <a class="el" href="proto_8h.html#a8237c7fc76377cb07f3f55920d6f20de">GetLastError</a> </dd></dl>

<p>References <a class="el" href="dlinklist_8h.html#aa0a965f93e7b5bf2c7c95b380f5af2df">DLIST_REMOVE</a>, <a class="el" href="cdo__mapi_8c.html#aa3c2b68912988f290961037c76478495">global_mapi_ctx</a>, <a class="el" href="structnotifications.html#a4152e7c0dad1b9e6dea80b3ec709509e">notifications::next</a>, <a class="el" href="structmapi__notify__ctx.html#a1fc5d293b50a5d0fcdb9c849f4ec122d">mapi_notify_ctx::notifications</a>, <a class="el" href="structmapi__session.html#aac9c83fd213feed2c69ca8300551a44f">mapi_session::notify_ctx</a>, <a class="el" href="structnotifications.html#aaada0e45c2499fbe55849496f867cc3c">notifications::obj_notif</a>, <a class="el" href="mapicode_8h.html#a72f77c7e5d097e7b47c57c0405070d0c">OPENCHANGE_RETVAL_IF</a>, <a class="el" href="IUnknown_8c.html#ab3f224d83f10cbbcbeeeff3f4f73f230">Release()</a>, and <a class="el" href="structnotifications.html#aa3003af84e7e3cba48d58da6d0f441de">notifications::ulConnection</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>