﻿<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"><head><link rel="SHORTCUT ICON" href="./../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { backgroundImageName: tabLeftBG.gif; }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { backgroundImageName: tabRightBG.gif; }.OH_footer { backgroundImageName: footer_slice.gif; background-position: top; background-repeat: repeat-x; }</style><link rel="stylesheet" type="text/css" href="./../styles/branding.css" /><link rel="stylesheet" type="text/css" href="./../styles/branding-en-US.css" /><style type="text/css">
			body
			{
			border-left:5px solid #e6e6e6;
			overflow-x:scroll;
			overflow-y:scroll;
			}
		</style><script src="./../scripts/branding.js" type="text/javascript"><!----></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NetSendAppender.NetMessageBufferSend Method </title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="NetMessageBufferSend method" /><meta name="System.Keywords" content="NetSendAppender.NetMessageBufferSend method" /><meta name="Microsoft.Help.F1" content="log4net.Appender.NetSendAppender.NetMessageBufferSend" /><meta name="Microsoft.Help.Id" content="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)" /><meta name="Description" content="Sends a buffer of information to a registered message alias." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Appender" /><meta name="file" content="M_log4net_Appender_NetSendAppender_NetMessageBufferSend" /><meta name="guid" content="M_log4net_Appender_NetSendAppender_NetMessageBufferSend" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="SelfBranded" content="true" /></head><body onload="onLoad()" class="primary-mtps-offline-document"><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">NetSendAppender<span id="ID0EBBABAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBABAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>NetMessageBufferSend Method </td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><div class="summary">
            Sends a buffer of information to a registered message alias.
            </div><p></p><b>Namespace:</b> <a href="N_log4net_Appender.htm" target="">log4net.Appender</a><br /><b>Assembly:</b> <span sdata="assembly">log4net</span> (in log4net.dll) Version: 1.2.15.0 (1.2.15.0)<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Syntax</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div id="snippetGroup_Syntax" class="code"><div id="ID0ECGDAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECGDAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECGDAAAAA_tabimgleft"></div><div id="ID0ECGDAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECGDAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECGDAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECGDAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECGDAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECGDAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECGDAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECGDAAAAA_tabimgright"></div></div><div id="ID0ECGDAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECGDAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECGDAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECGDAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECGDAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECGDAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECGDAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECGDAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">protected</span> <span class="keyword">static</span> <span class="identifier">int</span> <span class="identifier">NetMessageBufferSend</span>(
	<span class="identifier">string</span> <span class="parameter">serverName</span>,
	<span class="identifier">string</span> <span class="parameter">msgName</span>,
	<span class="identifier">string</span> <span class="parameter">fromName</span>,
	<span class="identifier">string</span> <span class="parameter">buffer</span>,
	<span class="identifier">int</span> <span class="parameter">bufferSize</span>
)</pre></div><div id="ID0ECGDAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>protected static int NetMessageBufferSend(
	string serverName,
	string msgName,
	string fromName,
	string buffer,
	int bufferSize
)</pre></div><div id="ID0ECGDAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Protected</span> <span class="keyword">Shared</span> <span class="keyword">Function</span> <span class="identifier">NetMessageBufferSend</span> ( 
	<span class="parameter">serverName</span> <span class="keyword">As</span> <span class="identifier">String</span>,
	<span class="parameter">msgName</span> <span class="keyword">As</span> <span class="identifier">String</span>,
	<span class="parameter">fromName</span> <span class="keyword">As</span> <span class="identifier">String</span>,
	<span class="parameter">buffer</span> <span class="keyword">As</span> <span class="identifier">String</span>,
	<span class="parameter">bufferSize</span> <span class="keyword">As</span> <span class="identifier">Integer</span>
) <span class="keyword">As</span> <span class="identifier">Integer</span></pre></div><div id="ID0ECGDAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Protected Shared Function NetMessageBufferSend ( 
	serverName As String,
	msgName As String,
	fromName As String,
	buffer As String,
	bufferSize As Integer
) As Integer</pre></div><div id="ID0ECGDAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">protected</span>:
<span class="keyword">static</span> <span class="identifier">int</span> <span class="identifier">NetMessageBufferSend</span>(
	<span class="identifier">String</span>^ <span class="parameter">serverName</span>, 
	<span class="identifier">String</span>^ <span class="parameter">msgName</span>, 
	<span class="identifier">String</span>^ <span class="parameter">fromName</span>, 
	<span class="identifier">String</span>^ <span class="parameter">buffer</span>, 
	<span class="identifier">int</span> <span class="parameter">bufferSize</span>
)</pre></div><div id="ID0ECGDAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>protected:
static int NetMessageBufferSend(
	String^ serverName, 
	String^ msgName, 
	String^ fromName, 
	String^ buffer, 
	int bufferSize
)</pre></div><div id="ID0ECGDAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECGDAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECGDAAAAA');</script></div><div id="parameters"><h4 class="subHeading">Parameters</h4><dl paramName="serverName"><dt><span class="parameter">serverName</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">System<span id="ID0EBCAEFDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCAEFDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>String</a><br /><span>The DNS or NetBIOS name of the server on which the function is to execute.</span></dd></dl><dl paramName="msgName"><dt><span class="parameter">msgName</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">System<span id="ID0EBCADFDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCADFDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>String</a><br /><span>The message alias to which the message buffer should be sent</span></dd></dl><dl paramName="fromName"><dt><span class="parameter">fromName</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">System<span id="ID0EBCACFDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCACFDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>String</a><br /><span>The originator of the message.</span></dd></dl><dl paramName="buffer"><dt><span class="parameter">buffer</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">System<span id="ID0EBCABFDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCABFDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>String</a><br /><span>The message text.</span></dd></dl><dl paramName="bufferSize"><dt><span class="parameter">bufferSize</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/td2s409d" target="_blank">System<span id="ID0EBCAAFDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCAAFDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Int32</a><br /><span>The length, in bytes, of the message text.</span></dd></dl></div><h4 class="subHeading">Return Value</h4>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/td2s409d" target="_blank">Int32</a><br /><p>
            If the function succeeds, the return value is zero.
            </p><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Remarks</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><p>
            The following restrictions apply for sending network messages:
            </p><p><div class="tableSection"><table><tr><th>Platform</th><th>Requirements</th></tr><tr><td>Windows NT</td><td>
                        No special group membership is required to send a network message.
                        <p>
                        Admin, Accounts, Print, or Server Operator group membership is required to 
                        successfully send a network message on a remote server.
                        </p></td></tr><tr><td>Windows 2000 or later</td><td>
                        If you send a message on a domain controller that is running Active Directory, 
                        access is allowed or denied based on the access control list (ACL) for the securable 
                        object. The default ACL permits only Domain Admins and Account Operators to send a network message. 
                        <p>
                        On a member server or workstation, only Administrators and Server Operators can send a network message. 
                        </p></td></tr></table></div></p><p>
            For more information see <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/security_requirements_for_the_network_management_functions.asp" target="_blank">Security Requirements for the Network Management Functions</a>.
            </p><a name="seeAlsoSection"><!----></a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="seeAlsoStyle"><a href="T_log4net_Appender_NetSendAppender.htm" target="">NetSendAppender Class</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Appender_NetSendAppender.htm" target="">NetSendAppender Members</a></div><div class="seeAlsoStyle"><a href="N_log4net_Appender.htm" target="">log4net.Appender Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer"><p>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</p><p><a href="http://logging.apache.org/log4net/" target="_blank"><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /> 
						Copyright 2004-2015 The Apache Software Foundation (http://logging.apache.org/log4net/)</a></p><div class="OH_feedbacklink"><a href="mailto:http://logging.apache.org/log4net/mail-lists.html?subject=Apache+log4net%e2%84%a2+SDK+Documentation+NetSendAppender.NetMessageBufferSend+Method++100+EN-US&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2c%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2c%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.">Send Feedback</a> on this topic to http://logging.apache.org/log4net/mail-lists.html.</div></div></body></html>