Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / ComIntegration / MonikerBuilder.cs / 1 / MonikerBuilder.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.ServiceModel.ComIntegration
{
using System;
using System.Reflection;
using System.Collections.Generic;
using System.Threading;
using System.ServiceModel.Channels;
using System.Runtime.Remoting.Proxies;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Services;
using System.Runtime.InteropServices;
internal class MonikerBuilder : IProxyCreator
{
ComProxy comProxy = null;
private MonikerBuilder ()
{
}
void IDisposable.Dispose ()
{
}
ComProxy IProxyCreator.CreateProxy (IntPtr outer, ref Guid riid)
{
if ((riid != typeof (IMoniker).GUID) && (riid != typeof (IParseDisplayName).GUID))
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidCastException(SR.GetString(SR.NoInterface, riid)));
if (outer == IntPtr.Zero)
{
DiagnosticUtility.DebugAssert("OuterProxy cannot be null");
throw DiagnosticUtility.ExceptionUtility.ThrowHelperInternal(false);
}
if (comProxy == null)
{
ServiceMonikerInternal moniker = null;
try
{
moniker = new ServiceMonikerInternal ();
comProxy = ComProxy.Create (outer, moniker, moniker);
return comProxy;
}
finally
{
if ((comProxy == null) && (moniker != null))
((IDisposable)moniker).Dispose ();
}
}
else
return comProxy.Clone ();
}
bool IProxyCreator.SupportsErrorInfo (ref Guid riid)
{
if ((riid != typeof (IMoniker).GUID) && (riid != typeof (IParseDisplayName).GUID))
return false;
else
return true;
}
bool IProxyCreator.SupportsDispatch ()
{
return false;
}
bool IProxyCreator.SupportsIntrinsics ()
{
return false;
}
public static MarshalByRefObject CreateMonikerInstance ()
{
IProxyCreator serviceChannelBuilder = new MonikerBuilder ();;
IProxyManager proxyManager = new ProxyManager (serviceChannelBuilder);
Guid iid = typeof (IMoniker).GUID;
IntPtr ppv = OuterProxyWrapper.CreateOuterProxyInstance (proxyManager, ref iid);
MarshalByRefObject ret = EnterpriseServicesHelper.WrapIUnknownWithComObject (ppv) as MarshalByRefObject;
Marshal.Release(ppv);
return ret;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventManager.cs
- StringComparer.cs
- CompiledXpathExpr.cs
- SegmentTree.cs
- ContainerControl.cs
- BoundingRectTracker.cs
- __TransparentProxy.cs
- Compilation.cs
- BrowserCapabilitiesCodeGenerator.cs
- ClientData.cs
- DataBindingList.cs
- LayoutEditorPart.cs
- AnnotationMap.cs
- safex509handles.cs
- XmlNodeReader.cs
- StrongNamePublicKeyBlob.cs
- CreateRefExpr.cs
- InkCollectionBehavior.cs
- FormatterConverter.cs
- ApplicationDirectoryMembershipCondition.cs
- X509Chain.cs
- QilPatternFactory.cs
- MetabaseServerConfig.cs
- WebScriptMetadataMessageEncoderFactory.cs
- LazyTextWriterCreator.cs
- PointAnimationUsingKeyFrames.cs
- PointValueSerializer.cs
- _ChunkParse.cs
- WindowsScrollBarBits.cs
- VectorAnimationUsingKeyFrames.cs
- FixedSOMTableCell.cs
- ADConnectionHelper.cs
- WebRequestModuleElement.cs
- WebAdminConfigurationHelper.cs
- TransactionChannelFaultConverter.cs
- GrammarBuilderDictation.cs
- EmptyEnumerator.cs
- CancelRequestedQuery.cs
- ImpersonationContext.cs
- WebPartDeleteVerb.cs
- CodeMemberProperty.cs
- TextCompositionManager.cs
- AssemblySettingAttributes.cs
- PersonalizationState.cs
- TraceContextEventArgs.cs
- SynchronizationLockException.cs
- SafeReversePInvokeHandle.cs
- Pointer.cs
- UriTemplatePathSegment.cs
- ObjectSecurity.cs
- CodePageUtils.cs
- OpacityConverter.cs
- FixedSOMPageConstructor.cs
- HttpCachePolicy.cs
- Debugger.cs
- RoleServiceManager.cs
- DocumentPageViewAutomationPeer.cs
- XmlSchemaExporter.cs
- UdpDiscoveryEndpointProvider.cs
- ListViewAutomationPeer.cs
- DataGridViewSelectedCellCollection.cs
- CodeConditionStatement.cs
- ServiceDesigner.cs
- UpdateExpressionVisitor.cs
- PostBackOptions.cs
- Trustee.cs
- CellNormalizer.cs
- SafeSecurityHelper.cs
- BrowserInteropHelper.cs
- InputLangChangeEvent.cs
- BuildDependencySet.cs
- ReadOnlyMetadataCollection.cs
- IInstanceTable.cs
- PnrpPermission.cs
- AppDomainCompilerProxy.cs
- MissingSatelliteAssemblyException.cs
- UpdateDelegates.Generated.cs
- IPipelineRuntime.cs
- UserPreference.cs
- ToolCreatedEventArgs.cs
- LineSegment.cs
- ModuleConfigurationInfo.cs
- HeaderCollection.cs
- InputScopeAttribute.cs
- MessageFault.cs
- FieldToken.cs
- TypeUnloadedException.cs
- ProfilePropertySettings.cs
- Panel.cs
- ReadWriteObjectLock.cs
- BitSet.cs
- bidPrivateBase.cs
- MailDefinition.cs
- StyleTypedPropertyAttribute.cs
- SqlCacheDependencyDatabaseCollection.cs
- ObjectDataSourceEventArgs.cs
- XmlSchemaObject.cs
- EventSourceCreationData.cs
- SettingsSavedEventArgs.cs
- EncoderFallback.cs