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
- XmlLinkedNode.cs
- SqlDataSourceView.cs
- PackageRelationship.cs
- Calendar.cs
- IgnoreFileBuildProvider.cs
- EventRoute.cs
- UriSection.cs
- NopReturnReader.cs
- QuaternionKeyFrameCollection.cs
- VolatileEnlistmentState.cs
- figurelength.cs
- BindingExpressionUncommonField.cs
- SQLBinary.cs
- ListViewInsertedEventArgs.cs
- FrameSecurityDescriptor.cs
- ButtonPopupAdapter.cs
- DataControlFieldCell.cs
- PresentationAppDomainManager.cs
- ExceptionWrapper.cs
- SqlTransaction.cs
- WindowsTooltip.cs
- Single.cs
- UserNameSecurityToken.cs
- AstTree.cs
- TextServicesManager.cs
- DefinitionProperties.cs
- RawAppCommandInputReport.cs
- DateTimeConstantAttribute.cs
- WizardPanelChangingEventArgs.cs
- PassportAuthentication.cs
- HotCommands.cs
- BezierSegment.cs
- FilteredAttributeCollection.cs
- NavigatorOutput.cs
- HyperLinkStyle.cs
- CollectionViewGroupRoot.cs
- StringConcat.cs
- StringResourceManager.cs
- ToolboxItemAttribute.cs
- CodeGenerator.cs
- DesignBinding.cs
- ObjectTag.cs
- EventProxy.cs
- MSAAWinEventWrap.cs
- ToolStripComboBox.cs
- ZipIOModeEnforcingStream.cs
- _DisconnectOverlappedAsyncResult.cs
- PersistencePipeline.cs
- SqlRowUpdatingEvent.cs
- XsdBuildProvider.cs
- SmtpCommands.cs
- EFTableProvider.cs
- ManagedWndProcTracker.cs
- PublisherIdentityPermission.cs
- ToolboxItemAttribute.cs
- BitmapDownload.cs
- ThemeableAttribute.cs
- ValidationPropertyAttribute.cs
- M3DUtil.cs
- PublisherIdentityPermission.cs
- CaretElement.cs
- BezierSegment.cs
- MarshalByValueComponent.cs
- ToolStripRenderEventArgs.cs
- grammarelement.cs
- WebPartVerb.cs
- DockPanel.cs
- DoWorkEventArgs.cs
- SqlCacheDependencySection.cs
- PasswordBoxAutomationPeer.cs
- ExpressionPrefixAttribute.cs
- TraceSection.cs
- HoistedLocals.cs
- TempEnvironment.cs
- PathStreamGeometryContext.cs
- ClientOptions.cs
- ComponentSerializationService.cs
- TransformerInfo.cs
- OptimalBreakSession.cs
- UnsafeNativeMethods.cs
- MetafileHeaderWmf.cs
- XmlRawWriter.cs
- DragEvent.cs
- ControlEvent.cs
- HtmlInputPassword.cs
- NumberSubstitution.cs
- Run.cs
- Comparer.cs
- ToolStripPanelRenderEventArgs.cs
- COM2EnumConverter.cs
- SqlConnectionHelper.cs
- ElementAction.cs
- ColumnPropertiesGroup.cs
- WebPartEditorOkVerb.cs
- ServiceSettingsResponseInfo.cs
- GPRECTF.cs
- X509Utils.cs
- ErrorStyle.cs
- ObfuscateAssemblyAttribute.cs
- BamlLocalizationDictionary.cs