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
- Oid.cs
- ConfigurationProviderException.cs
- CompiledRegexRunner.cs
- TcpConnectionPoolSettingsElement.cs
- SignatureDescription.cs
- WebControlsSection.cs
- MDIClient.cs
- WindowsStartMenu.cs
- BinHexEncoder.cs
- FileUtil.cs
- ImportDesigner.xaml.cs
- WebServiceMethodData.cs
- AuthStoreRoleProvider.cs
- DataGridTablesFactory.cs
- FixedPage.cs
- ContextMenu.cs
- ValueTable.cs
- AdRotator.cs
- __Filters.cs
- CancelEventArgs.cs
- SqlTypeSystemProvider.cs
- BinaryUtilClasses.cs
- LightweightEntityWrapper.cs
- CodeDomExtensionMethods.cs
- DesigntimeLicenseContext.cs
- DictionarySectionHandler.cs
- XmlElement.cs
- IncrementalCompileAnalyzer.cs
- NativeCppClassAttribute.cs
- PackageStore.cs
- ZoneButton.cs
- ListViewCancelEventArgs.cs
- ClientCultureInfo.cs
- ToolStripRenderEventArgs.cs
- RewritingProcessor.cs
- ToolStripDropDownItemDesigner.cs
- StyleConverter.cs
- DataColumnCollection.cs
- TemplateInstanceAttribute.cs
- InProcStateClientManager.cs
- MonitorWrapper.cs
- InstanceKeyCollisionException.cs
- MatcherBuilder.cs
- CursorConverter.cs
- SqlHelper.cs
- HttpListener.cs
- TextChange.cs
- WorkflowInstanceExtensionCollection.cs
- RuleSettingsCollection.cs
- SqlRowUpdatingEvent.cs
- MatrixKeyFrameCollection.cs
- BrushProxy.cs
- ControllableStoryboardAction.cs
- Mapping.cs
- DrawingAttributes.cs
- ContainerParagraph.cs
- EqualityComparer.cs
- ItemList.cs
- Timer.cs
- DataObject.cs
- EventArgs.cs
- Component.cs
- CommandValueSerializer.cs
- PageParserFilter.cs
- UserPersonalizationStateInfo.cs
- WeakEventTable.cs
- ListViewHitTestInfo.cs
- PaintValueEventArgs.cs
- WsatTransactionFormatter.cs
- RequestDescription.cs
- HttpModuleActionCollection.cs
- FontStyleConverter.cs
- ConfigXmlCDataSection.cs
- ExclusiveTcpListener.cs
- GestureRecognitionResult.cs
- TextBounds.cs
- DynamicObject.cs
- StatusStrip.cs
- ComponentRenameEvent.cs
- HttpApplicationStateBase.cs
- EdgeProfileValidation.cs
- NodeLabelEditEvent.cs
- SelectingProviderEventArgs.cs
- StateValidator.cs
- PresentationSource.cs
- TextTrailingCharacterEllipsis.cs
- Vector.cs
- ControlDesigner.cs
- wmiprovider.cs
- FormatConvertedBitmap.cs
- ProtocolInformationWriter.cs
- XsltLibrary.cs
- CollectionBuilder.cs
- SessionStateItemCollection.cs
- ServiceManager.cs
- DataGridRelationshipRow.cs
- WebResponse.cs
- HttpContext.cs
- XmlLangPropertyAttribute.cs
- SqlDataSourceStatusEventArgs.cs