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
- ActivityCodeDomSerializer.cs
- TrustManagerMoreInformation.cs
- URLEditor.cs
- ListItemCollection.cs
- MenuCommands.cs
- COM2PictureConverter.cs
- XmlNotation.cs
- MessageDispatch.cs
- ConstNode.cs
- TcpStreams.cs
- TcpHostedTransportConfiguration.cs
- IOException.cs
- RelationshipConverter.cs
- SynchronizedDispatch.cs
- TextAnchor.cs
- DbException.cs
- WebPartMenu.cs
- Assign.cs
- TempFiles.cs
- BufferAllocator.cs
- PeerContact.cs
- MimeFormReflector.cs
- DataTableMappingCollection.cs
- RootBrowserWindowAutomationPeer.cs
- RSAPKCS1SignatureDeformatter.cs
- XMLSchema.cs
- DocumentApplication.cs
- CLSCompliantAttribute.cs
- BinaryNode.cs
- XmlAggregates.cs
- QilLoop.cs
- WebPartConnectionsCloseVerb.cs
- MissingMethodException.cs
- RectIndependentAnimationStorage.cs
- SystemUnicastIPAddressInformation.cs
- SystemIPv6InterfaceProperties.cs
- PrimarySelectionAdorner.cs
- DateTimeSerializationSection.cs
- __Error.cs
- GridViewColumnHeaderAutomationPeer.cs
- EncoderFallback.cs
- DocobjHost.cs
- ContractUtils.cs
- CompilerTypeWithParams.cs
- XPathNodeInfoAtom.cs
- _NtlmClient.cs
- UTF32Encoding.cs
- Maps.cs
- PasswordBoxAutomationPeer.cs
- CheckBoxFlatAdapter.cs
- DataSourceExpression.cs
- WebPartEditorOkVerb.cs
- filewebresponse.cs
- InkCanvasFeedbackAdorner.cs
- BeginEvent.cs
- AlphabetConverter.cs
- NamespaceInfo.cs
- PackagingUtilities.cs
- Wildcard.cs
- XmlWriterDelegator.cs
- QualifierSet.cs
- CommunicationObject.cs
- sortedlist.cs
- UnsafeNativeMethods.cs
- OrCondition.cs
- VisualBrush.cs
- ResourcePool.cs
- TemplateControlBuildProvider.cs
- NamespaceEmitter.cs
- IntSecurity.cs
- ComboBox.cs
- ButtonBase.cs
- DependencyPropertyKind.cs
- TimeSpanMinutesConverter.cs
- TextTreePropertyUndoUnit.cs
- ClientSettingsProvider.cs
- EtwProvider.cs
- ByteStack.cs
- CachingHintValidation.cs
- XmlSchemaChoice.cs
- CustomCredentialPolicy.cs
- MailAddressCollection.cs
- DrawingBrush.cs
- ControlPersister.cs
- BitmapEffectDrawingContextState.cs
- XmlWhitespace.cs
- NullRuntimeConfig.cs
- SqlInternalConnection.cs
- LinqDataSourceSelectEventArgs.cs
- AmbientLight.cs
- AttributeCollection.cs
- PropertyOverridesDialog.cs
- WrappedDispatcherException.cs
- TemplateBamlRecordReader.cs
- BufferedStream.cs
- SpAudioStreamWrapper.cs
- ThreadStaticAttribute.cs
- SqlCrossApplyToCrossJoin.cs
- AnnouncementInnerClientCD1.cs
- ISAPIRuntime.cs