Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > 943b1476818e5ec34d7058ed3b879448 > files > 90

libmapi-devel-0.8.2-1.1481.3mdv2010.0.i586.rpm

<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&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="tabs">
    <ul>
      <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="contents">
<h1>libmapi/IStream.c File Reference</h1>Functions for operating on Streams on MAPI objects.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;libmapi/libmapi.h&gt;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#43c7e86035798e482edbe2f4fd290bba">CloneStream</a> (mapi_object_t *obj_src, mapi_object_t *obj_dst)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#1b261910fd70863accbd3dca22145239">CommitStream</a> (mapi_object_t *obj_stream)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#bda83307418d9b61cbb17c087d77930f">CopyToStream</a> (mapi_object_t *obj_src, mapi_object_t *obj_dst, uint64_t ByteCount, uint64_t *ReadByteCount, uint64_t *WrittenByteCount)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#4b1a3bd6a7e782069ec2d9def6bd9118">GetStreamSize</a> (mapi_object_t *obj_stream, uint32_t *StreamSize)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#003c1cca33d38355714e763cdf60b173">LockRegionStream</a> (mapi_object_t *obj_stream, uint64_t RegionOffset, uint64_t RegionSize, uint32_t LockFlags)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</a> (mapi_object_t *obj_related, uint32_t PropertyTag, uint8_t OpenModeFlags, mapi_object_t *obj_stream)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#8e1a787eb5909c9e4792ec994409abd6">ReadStream</a> (mapi_object_t *obj_stream, unsigned char *buf_data, uint16_t ByteCount, uint16_t *ByteRead)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#0088c138500dcac0307285cbcc2d204e">SeekStream</a> (mapi_object_t *obj_stream, uint8_t Origin, uint64_t Offset, uint64_t *NewPosition)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#6f722691435bc7430371c5cd27936db3">SetStreamSize</a> (mapi_object_t *obj_stream, uint64_t SizeStream)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#ce3c3c8e1d2b7d74fead276d19e67980">UnlockRegionStream</a> (mapi_object_t *obj_stream, uint64_t RegionOffset, uint64_t RegionSize, uint32_t LockFlags)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#fa548a428a1e720935d97a43c9ae8881">WriteAndCommitStream</a> (mapi_object_t *obj_stream, DATA_BLOB *blob, uint16_t *WrittenSize)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">_PUBLIC_ enum MAPISTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="IStream_8c.html#0f9d72689923a9b055bf6ef95f83ca20">WriteStream</a> (mapi_object_t *obj_stream, DATA_BLOB *blob, uint16_t *WrittenSize)</td></tr>

</table>
<hr><h2>Detailed Description</h2>
Functions for operating on Streams on MAPI objects. 
<p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="43c7e86035798e482edbe2f4fd290bba"></a><!-- doxytag: member="IStream.c::CloneStream" ref="43c7e86035798e482edbe2f4fd290bba" args="(mapi_object_t *obj_src, mapi_object_t *obj_dst)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS CloneStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_dst</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clone a source stream to another stream<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_src</em>&nbsp;</td><td>the source stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj_dst</em>&nbsp;</td><td>the destination stream object</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: source or destination streams are not valid.</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="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</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>, <a class="el" href="mapi__object_8c_source.html#l00165">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c_source.html#l00276">mapi_object_set_handle()</a>, <a class="el" href="mapi__object_8c_source.html#l00222">mapi_object_set_logon_id()</a>, and <a class="el" href="mapi__object_8c_source.html#l00181">mapi_object_set_session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1b261910fd70863accbd3dca22145239"></a><!-- doxytag: member="IStream.c::CommitStream" ref="1b261910fd70863accbd3dca22145239" args="(mapi_object_t *obj_stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS CommitStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Commits stream operations<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_stream</em>&nbsp;</td><td>the stream object to commit</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: Either the network stream or session context are not valid.</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="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</a>, <a class="el" href="IStream_8c.html#8e1a787eb5909c9e4792ec994409abd6">ReadStream</a>, <a class="el" href="IStream_8c.html#0f9d72689923a9b055bf6ef95f83ca20">WriteStream</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="bda83307418d9b61cbb17c087d77930f"></a><!-- doxytag: member="IStream.c::CopyToStream" ref="bda83307418d9b61cbb17c087d77930f" args="(mapi_object_t *obj_src, mapi_object_t *obj_dst, uint64_t ByteCount, uint64_t *ReadByteCount, uint64_t *WrittenByteCount)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS CopyToStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t *&nbsp;</td>
          <td class="paramname"> <em>ReadByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t *&nbsp;</td>
          <td class="paramname"> <em>WrittenByteCount</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy a number of bytes from a source stream to another stream<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_src</em>&nbsp;</td><td>the source stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj_dst</em>&nbsp;</td><td>the destination stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ByteCount</em>&nbsp;</td><td>the number of bytes to copy </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ReadByteCount</em>&nbsp;</td><td>pointer on the number of bytes read from the source object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>WrittenByteCount</em>&nbsp;</td><td>pointer on the number of bytes written to the destination object</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_BOOKMARK: the bookmark specified is invalid or beyond the last row requested.</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="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</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="4b1a3bd6a7e782069ec2d9def6bd9118"></a><!-- doxytag: member="IStream.c::GetStreamSize" ref="4b1a3bd6a7e782069ec2d9def6bd9118" args="(mapi_object_t *obj_stream, uint32_t *StreamSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS GetStreamSize           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>StreamSize</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 size of a stream<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_stream</em>&nbsp;</td><td>the stream object we retrieve size from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>StreamSize</em>&nbsp;</td><td>pointer on the stream size</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_stream is not initialized, or there was a problem obtaining the session context</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="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</a>, <a class="el" href="IStream_8c.html#8e1a787eb5909c9e4792ec994409abd6">ReadStream</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="003c1cca33d38355714e763cdf60b173"></a><!-- doxytag: member="IStream.c::LockRegionStream" ref="003c1cca33d38355714e763cdf60b173" args="(mapi_object_t *obj_stream, uint64_t RegionOffset, uint64_t RegionSize, uint32_t LockFlags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS LockRegionStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>RegionOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>RegionSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>LockFlags</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Lock a range of bytes within the stream<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_stream</em>&nbsp;</td><td>the stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>RegionOffset</em>&nbsp;</td><td>starting point for the range </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>RegionSize</em>&nbsp;</td><td>length of the range </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>LockFlags</em>&nbsp;</td><td>type of locking to apply</td></tr>
  </table>
</dl>
Setting LockFlags to 0x00000001 will provide a write lock (i.e. one writer, any number of readers). Setting LockFlags to any other value will provide a read-write lock (one reader/writer, no other readers or writers).<p>
<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_stream is not valid</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="IStream_8c.html#ce3c3c8e1d2b7d74fead276d19e67980">UnlockRegionStream</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="efb168f6c4b3aa0d7ada6a161cfd7317"></a><!-- doxytag: member="IStream.c::OpenStream" ref="efb168f6c4b3aa0d7ada6a161cfd7317" args="(mapi_object_t *obj_related, uint32_t PropertyTag, uint8_t OpenModeFlags, mapi_object_t *obj_stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS OpenStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_related</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>PropertyTag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>OpenModeFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open a stream<p>
This function opens a stream on the property <em>prop</em> set in <em>obj_related</em> with access flags set to <em>access_flags</em> and returns an object <em>obj_stream</em>.<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_related</em>&nbsp;</td><td>the object to open. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>PropertyTag</em>&nbsp;</td><td>the property name for the object to create a stream for. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OpenModeFlags</em>&nbsp;</td><td>sets the access mode for the stream and is one of the following values: 0x0: ReadOnly 0x1: ReadWrite 0x2: Create 0x3: BestAccess </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>obj_stream</em>&nbsp;</td><td>the resulting stream object.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li><li>MAPI_E_INVALID_PARAMETER: A problem occured obtaining the session context</li><li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li></ul>
</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.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IStream_8c.html#8e1a787eb5909c9e4792ec994409abd6">ReadStream</a>, <a class="el" href="IStream_8c.html#0f9d72689923a9b055bf6ef95f83ca20">WriteStream</a>, <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>, <a class="el" href="mapi__object_8c_source.html#l00165">mapi_object_get_session()</a>, <a class="el" href="mapi__object_8c_source.html#l00276">mapi_object_set_handle()</a>, <a class="el" href="mapi__object_8c_source.html#l00222">mapi_object_set_logon_id()</a>, and <a class="el" href="mapi__object_8c_source.html#l00181">mapi_object_set_session()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8e1a787eb5909c9e4792ec994409abd6"></a><!-- doxytag: member="IStream.c::ReadStream" ref="8e1a787eb5909c9e4792ec994409abd6" args="(mapi_object_t *obj_stream, unsigned char *buf_data, uint16_t ByteCount, uint16_t *ByteRead)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS ReadStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buf_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t *&nbsp;</td>
          <td class="paramname"> <em>ByteRead</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read buffer from a stream<p>
This function reads from an open data stream. It will read up to ByteCount bytes from the stream, and return the data in data_buf. ByteRead is set to the number of bytes actually read.<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_stream</em>&nbsp;</td><td>the opened stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf_data</em>&nbsp;</td><td>the buffer where data read from the stream will be stored </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ByteCount</em>&nbsp;</td><td>the number of bytes requested to be read from the stream </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ByteRead</em>&nbsp;</td><td>the number of bytes read from the stream</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>MAPI_E_SUCCESS on success, otherwise MAPI error. Possible MAPI error codes are:<ul>
<li>MAPI_E_NOT_INITIALIZED: MAPI subsystem has not been initialized</li><li>MAPI_E_INVALID_PARAMETER: A problem occured obtaining the session context</li><li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li></ul>
</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.<p>
The data size intended to be read from the stream shouldn't extend a maximum size each time you call ReadStream. This size depends on Exchange server version. However 0x1000 is known to be a reliable read size value.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</a>, <a class="el" href="IStream_8c.html#0f9d72689923a9b055bf6ef95f83ca20">WriteStream</a>, <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="lzfu_8c_source.html#l00100">WrapCompressedRTFStream()</a>.</p>

</div>
</div><p>
<a class="anchor" name="0088c138500dcac0307285cbcc2d204e"></a><!-- doxytag: member="IStream.c::SeekStream" ref="0088c138500dcac0307285cbcc2d204e" args="(mapi_object_t *obj_stream, uint8_t Origin, uint64_t Offset, uint64_t *NewPosition)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS SeekStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>Origin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>Offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t *&nbsp;</td>
          <td class="paramname"> <em>NewPosition</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Seek a specific position within the stream<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_stream</em>&nbsp;</td><td>the stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Origin</em>&nbsp;</td><td>origin location for the seek operation </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Offset</em>&nbsp;</td><td>the seek offset </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NewPosition</em>&nbsp;</td><td>pointer on the new position after the operation</td></tr>
  </table>
</dl>
Origin can either take one of the following values:<p>
0x0 The new seek pointer is an offset relative to the beginning of the stream. 0x1 The new seek pointer is an offset relative to the current seek pointer location. 0x2 The new seek pointer is an offset relative to the end of the stream.<p>
<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_stream is not valid, Origin is out of limits, or NewPosition 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="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</a>, <a class="el" href="IStream_8c.html#8e1a787eb5909c9e4792ec994409abd6">ReadStream</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="6f722691435bc7430371c5cd27936db3"></a><!-- doxytag: member="IStream.c::SetStreamSize" ref="6f722691435bc7430371c5cd27936db3" args="(mapi_object_t *obj_stream, uint64_t SizeStream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS SetStreamSize           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>SizeStream</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the stream size<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_stream</em>&nbsp;</td><td>the stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>SizeStream</em>&nbsp;</td><td>the size of the stream</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_stream is not valid</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="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</a>, <a class="el" href="IStream_8c.html#4b1a3bd6a7e782069ec2d9def6bd9118">GetStreamSize</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="ce3c3c8e1d2b7d74fead276d19e67980"></a><!-- doxytag: member="IStream.c::UnlockRegionStream" ref="ce3c3c8e1d2b7d74fead276d19e67980" args="(mapi_object_t *obj_stream, uint64_t RegionOffset, uint64_t RegionSize, uint32_t LockFlags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS UnlockRegionStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>RegionOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>RegionSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>LockFlags</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unlock a range of bytes within the stream<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_stream</em>&nbsp;</td><td>the stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>RegionOffset</em>&nbsp;</td><td>starting point for the range </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>RegionSize</em>&nbsp;</td><td>length of the range </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>LockFlags</em>&nbsp;</td><td>type of locking</td></tr>
  </table>
</dl>
LockFlags used in unlocking must match the LockFlags used in locking.<p>
<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_stream is not valid</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="IStream_8c.html#ce3c3c8e1d2b7d74fead276d19e67980">UnlockRegionStream</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="fa548a428a1e720935d97a43c9ae8881"></a><!-- doxytag: member="IStream.c::WriteAndCommitStream" ref="fa548a428a1e720935d97a43c9ae8881" args="(mapi_object_t *obj_stream, DATA_BLOB *blob, uint16_t *WrittenSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS WriteAndCommitStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DATA_BLOB *&nbsp;</td>
          <td class="paramname"> <em>blob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t *&nbsp;</td>
          <td class="paramname"> <em>WrittenSize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write and commit a buffer to the stream<p>
This function writes and commits the contents of a DATA_BLOB to the stream obj_stream.<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_stream</em>&nbsp;</td><td>the opened stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>blob</em>&nbsp;</td><td>the DATA_BLOB to write to the stream </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>WrittenSize</em>&nbsp;</td><td>the actual number of bytes written to the stream</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: A problem occured obtaining the session context, or the stream or blob were null.</li><li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li><li>MAPI_E_TOO_BIG: the data blob was too large to process</li></ul>
<p>
The data size intended to be written to the stream should not exceed a maximum size each time you call WriteStream. This size depends on Exchange server version. However 0x1000 is known to be a reliable write size value.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IStream_8c.html#0f9d72689923a9b055bf6ef95f83ca20">WriteStream</a>, <a class="el" href="IStream_8c.html#1b261910fd70863accbd3dca22145239">CommitStream</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="0f9d72689923a9b055bf6ef95f83ca20"></a><!-- doxytag: member="IStream.c::WriteStream" ref="0f9d72689923a9b055bf6ef95f83ca20" args="(mapi_object_t *obj_stream, DATA_BLOB *blob, uint16_t *WrittenSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">_PUBLIC_ enum MAPISTATUS WriteStream           </td>
          <td>(</td>
          <td class="paramtype">mapi_object_t *&nbsp;</td>
          <td class="paramname"> <em>obj_stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DATA_BLOB *&nbsp;</td>
          <td class="paramname"> <em>blob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t *&nbsp;</td>
          <td class="paramname"> <em>WrittenSize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write buffer to the stream<p>
This function writes the stream specified as a DATA_BLOB in data to the stream obj_stream.<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_stream</em>&nbsp;</td><td>the opened stream object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>blob</em>&nbsp;</td><td>the DATA_BLOB to write to the stream </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>WrittenSize</em>&nbsp;</td><td>the actual number of bytes written to the stream</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: A problem occured obtaining the session context, or blob was null.</li><li>MAPI_E_CALL_FAILED: A network problem was encountered during the transaction</li><li>MAPI_E_TOO_BIG: the data blob was too large to process</li></ul>
<p>
The data size intended to be written to the stream should not exceed a maximum size each time you call WriteStream. This size depends on Exchange server version. However 0x1000 is known to be a reliable write size value.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="IStream_8c.html#efb168f6c4b3aa0d7ada6a161cfd7317">OpenStream</a>, <a class="el" href="IStream_8c.html#8e1a787eb5909c9e4792ec994409abd6">ReadStream</a>, <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>

</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>