<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>FileAppender.InterProcessLock Members</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">FileAppender.InterProcessLock Members
					</h1>
      </div>
    </div>
    <div id="nstext">
      <p>
        <a href="log4net.Appender.FileAppender.InterProcessLock.html">FileAppender.InterProcessLock overview</a>
      </p>
      <h4 class="dtH4">Public Instance Constructors</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
          <tr VALIGN="top">
            <td width="50%">
              <img src="pubmethod.gif" />
              <a href="log4net.Appender.FileAppender.InterProcessLockConstructor.html">FileAppender.InterProcessLock Constructor</a>
            </td>
            <td width="50%">Initializes a new instance of the <a href="log4net.Appender.FileAppender.InterProcessLock.html">FileAppender.InterProcessLock</a> class.</td>
          </tr>
        </table>
      </div>
      <h4 class="dtH4">Public Instance Properties</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.FileAppender.LockingModelBase.CurrentAppender.html">CurrentAppender</a> (inherited from <b>LockingModelBase</b>)</td><td width="50%"> Gets or sets the <a href="log4net.Appender.FileAppender.html">FileAppender</a> for this LockingModel </td></tr></table>
      </div>
      <h4 class="dtH4">Public Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.FileAppender.InterProcessLock.AcquireLock.html">AcquireLock</a></td><td width="50%"> Acquire the lock on the file </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.FileAppender.InterProcessLock.CloseFile.html">CloseFile</a></td><td width="50%"> Close the file </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassEqualsTopic.htm">Equals</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetHashCodeTopic.htm">GetHashCode</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetTypeTopic.htm">GetType</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.FileAppender.InterProcessLock.OpenFile.html">OpenFile</a></td><td width="50%"> Open the file specified and prepare for logging. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.FileAppender.InterProcessLock.ReleaseLock.html">ReleaseLock</a></td><td width="50%">
            
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassToStringTopic.htm">ToString</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.FileAppender.LockingModelBase.CloseStream.html">CloseStream</a> (inherited from <b>LockingModelBase</b>)</td><td width="50%"> Helper method to close <i>stream</i> under CurrentAppender's SecurityContext. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.FileAppender.LockingModelBase.CreateStream.html">CreateStream</a> (inherited from <b>LockingModelBase</b>)</td><td width="50%"> Helper method that creates a FileStream under CurrentAppender's SecurityContext. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassFinalizeTopic.htm">Finalize</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassMemberwiseCloneTopic.htm">MemberwiseClone</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Appender.FileAppender.InterProcessLock.html">FileAppender.InterProcessLock Class</a> | <a href="log4net.Appender.html">log4net.Appender Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="FileAppender.InterProcessLock class">
        </param>
        <param name="Keyword" value="log4net.Appender.FileAppender.InterProcessLock class">
        </param>
        <param name="Keyword" value="FileAppender.InterProcessLock class, all members">
        </param>
      </object>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
