Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / ManagedLibraries / Remoting / Channels / IPC / IpcChannelHelper.cs / 1305376 / IpcChannelHelper.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//==========================================================================
// File: IpcChannelHelper.cs
// Author: [....]@Microsoft.Com
// Summary: Implements helper methods for Ipc client and server channels.
//
//=========================================================================
using System;
using System.IO;
using System.Collections;
using System.Runtime.Remoting.Channels;
namespace System.Runtime.Remoting.Channels.Ipc
{
internal static class IpcChannelHelper
{
private const String _ipc = "ipc://";
// see if the string starts with "ipc://"
internal static bool StartsWithIpc(String url)
{
return StringHelper.StartsWithAsciiIgnoreCasePrefixLower(url, _ipc);
} // StartsWithIpc
// Used by Ipc channels to implement IChannel::Parse.
// It returns the channel uri and places object uri into out parameter.
internal static String ParseURL(String url, out String objectURI)
{
if (url == null)
throw new ArgumentNullException("url");
// Set the out parameters
objectURI = null;
int separator;
// Find the starting point of ipc://
// NOTE: We are using this version of String.Compare to ensure
// that string operations are case-insensitive!!
if (StartsWithIpc(url))
{
separator = _ipc.Length;
}
else
{
return null;
}
// find next slash (after end of scheme)
separator = url.IndexOf('/', separator);
if (-1 == separator)
{
return url; // means that the url is just "Ipc://foo" or something like that
}
// Extract the channel URI which is the prefix
String channelURI = url.Substring(0, separator);
// Extract the object URI which is the suffix
objectURI = url.Substring(separator); // leave the slash
return channelURI;
} // ParseURL
} // class IpcChannelHelper
} // namespace System.Runtime.Remoting.Channels.Ipc
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//==========================================================================
// File: IpcChannelHelper.cs
// Author: [....]@Microsoft.Com
// Summary: Implements helper methods for Ipc client and server channels.
//
//=========================================================================
using System;
using System.IO;
using System.Collections;
using System.Runtime.Remoting.Channels;
namespace System.Runtime.Remoting.Channels.Ipc
{
internal static class IpcChannelHelper
{
private const String _ipc = "ipc://";
// see if the string starts with "ipc://"
internal static bool StartsWithIpc(String url)
{
return StringHelper.StartsWithAsciiIgnoreCasePrefixLower(url, _ipc);
} // StartsWithIpc
// Used by Ipc channels to implement IChannel::Parse.
// It returns the channel uri and places object uri into out parameter.
internal static String ParseURL(String url, out String objectURI)
{
if (url == null)
throw new ArgumentNullException("url");
// Set the out parameters
objectURI = null;
int separator;
// Find the starting point of ipc://
// NOTE: We are using this version of String.Compare to ensure
// that string operations are case-insensitive!!
if (StartsWithIpc(url))
{
separator = _ipc.Length;
}
else
{
return null;
}
// find next slash (after end of scheme)
separator = url.IndexOf('/', separator);
if (-1 == separator)
{
return url; // means that the url is just "Ipc://foo" or something like that
}
// Extract the channel URI which is the prefix
String channelURI = url.Substring(0, separator);
// Extract the object URI which is the suffix
objectURI = url.Substring(separator); // leave the slash
return channelURI;
} // ParseURL
} // class IpcChannelHelper
} // namespace System.Runtime.Remoting.Channels.Ipc
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Point4D.cs
- SqlConnectionStringBuilder.cs
- ItemAutomationPeer.cs
- SqlServices.cs
- Converter.cs
- RadioButtonList.cs
- HttpGetServerProtocol.cs
- SystemBrushes.cs
- RtfToXamlLexer.cs
- XmlParserContext.cs
- BitmapFrameEncode.cs
- SQLRoleProvider.cs
- SmtpNtlmAuthenticationModule.cs
- Vector3DConverter.cs
- ProxyAttribute.cs
- UpDownBase.cs
- CopyAttributesAction.cs
- AlphabeticalEnumConverter.cs
- DataGridPageChangedEventArgs.cs
- PointLight.cs
- DataRowChangeEvent.cs
- GestureRecognitionResult.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- PolicyStatement.cs
- ChangeProcessor.cs
- AnnotationResourceChangedEventArgs.cs
- CssStyleCollection.cs
- SqlPersonalizationProvider.cs
- WindowsTooltip.cs
- HeaderCollection.cs
- PropertyValueUIItem.cs
- DataGridTextBoxColumn.cs
- HttpResponseWrapper.cs
- HiddenFieldPageStatePersister.cs
- XmlnsDefinitionAttribute.cs
- DataGridCellClipboardEventArgs.cs
- EncryptedReference.cs
- X509LogoTypeExtension.cs
- XmlJsonReader.cs
- FormViewRow.cs
- CompilerGlobalScopeAttribute.cs
- NotFiniteNumberException.cs
- Number.cs
- ProjectedSlot.cs
- IgnorePropertiesAttribute.cs
- OptimalTextSource.cs
- QueryPageSettingsEventArgs.cs
- BorderGapMaskConverter.cs
- NullableDoubleSumAggregationOperator.cs
- TimerTable.cs
- Token.cs
- FixedSOMContainer.cs
- StatusBarDrawItemEvent.cs
- Win32MouseDevice.cs
- COM2AboutBoxPropertyDescriptor.cs
- AttachInfo.cs
- TableLayoutPanelBehavior.cs
- UseLicense.cs
- CommentEmitter.cs
- XmlArrayItemAttribute.cs
- DataRow.cs
- PathGeometry.cs
- WrappedOptions.cs
- EntityDescriptor.cs
- SelectorItemAutomationPeer.cs
- DeviceContexts.cs
- ActivityBindForm.Designer.cs
- StopStoryboard.cs
- SystemIcmpV6Statistics.cs
- PersonalizableAttribute.cs
- SiteMapPath.cs
- TrustManager.cs
- DefaultBindingPropertyAttribute.cs
- AssertSection.cs
- DocumentationServerProtocol.cs
- ByteStreamMessageUtility.cs
- _FtpDataStream.cs
- ConnectionStringsSection.cs
- SystemTcpConnection.cs
- ObjectContext.cs
- ProxyDataContractResolver.cs
- DbConnectionPoolCounters.cs
- TextEditorMouse.cs
- BlurBitmapEffect.cs
- DropShadowBitmapEffect.cs
- OutputCacheSection.cs
- PlainXmlWriter.cs
- XmlImplementation.cs
- PropertyPathConverter.cs
- SamlAssertion.cs
- CodeVariableDeclarationStatement.cs
- ParameterInfo.cs
- PathFigureCollection.cs
- XmlNode.cs
- RequestQueue.cs
- TypeDescriptionProviderAttribute.cs
- InkCanvas.cs
- SR.cs
- MouseEvent.cs
- TableCell.cs