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
- AttributeAction.cs
- BinHexDecoder.cs
- Internal.cs
- ZipQueryOperator.cs
- DockAndAnchorLayout.cs
- PackUriHelper.cs
- Tuple.cs
- PingOptions.cs
- OracleEncoding.cs
- ErrorFormatterPage.cs
- TaiwanLunisolarCalendar.cs
- PackagePart.cs
- SimpleHandlerFactory.cs
- WebServiceData.cs
- HostedTcpTransportManager.cs
- WindowsBrush.cs
- LayoutTable.cs
- ClientRoleProvider.cs
- DbParameterCollectionHelper.cs
- VolatileEnlistmentState.cs
- LogLogRecordEnumerator.cs
- ActivityInstanceReference.cs
- Exception.cs
- DispatcherFrame.cs
- CheckBoxFlatAdapter.cs
- ContentPropertyAttribute.cs
- OdbcConnectionOpen.cs
- XmlCountingReader.cs
- HttpProfileBase.cs
- ColorMatrix.cs
- ExternalException.cs
- DesignerCommandSet.cs
- CreateSequence.cs
- mda.cs
- TextContainerChangeEventArgs.cs
- ToggleProviderWrapper.cs
- HttpDictionary.cs
- SecurityMode.cs
- ApplicationSecurityInfo.cs
- MatrixKeyFrameCollection.cs
- WorkflowRuntimeServicesBehavior.cs
- CustomWebEventKey.cs
- WrappedReader.cs
- ContourSegment.cs
- SafeReversePInvokeHandle.cs
- StorageAssociationTypeMapping.cs
- CalendarDesigner.cs
- AssemblyCollection.cs
- FastEncoder.cs
- Connector.xaml.cs
- DataGridColumnReorderingEventArgs.cs
- AutomationElement.cs
- ArgIterator.cs
- IntegerValidator.cs
- ServiceDescriptionData.cs
- ContentType.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- Baml2006ReaderContext.cs
- DataSourceView.cs
- mediaeventargs.cs
- FlagsAttribute.cs
- SqlBuilder.cs
- WpfPayload.cs
- RangeValidator.cs
- RowParagraph.cs
- DesignerAutoFormatStyle.cs
- LinqExpressionNormalizer.cs
- SurrogateSelector.cs
- ListCollectionView.cs
- WebPartsSection.cs
- Highlights.cs
- ListItemConverter.cs
- AnnotationHighlightLayer.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- TableDetailsRow.cs
- TextFormatterHost.cs
- BrowserDefinitionCollection.cs
- WebPartDisplayModeCollection.cs
- RuntimeConfigLKG.cs
- ConfigXmlDocument.cs
- DoubleCollectionConverter.cs
- SettingsAttributeDictionary.cs
- XamlHostingSectionGroup.cs
- TextShapeableCharacters.cs
- EntitySet.cs
- ObjectViewFactory.cs
- ScrollEvent.cs
- OperationCanceledException.cs
- EventBuilder.cs
- AesCryptoServiceProvider.cs
- XmlSchemaImport.cs
- DesignerFrame.cs
- EasingKeyFrames.cs
- GridSplitter.cs
- ObjectDesignerDataSourceView.cs
- EncodingDataItem.cs
- MenuItemAutomationPeer.cs
- DataServiceResponse.cs
- StringSource.cs
- PropertyDescriptorGridEntry.cs