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
- LocalIdKeyIdentifierClause.cs
- BaseAppDomainProtocolHandler.cs
- RegisteredScript.cs
- VariableExpressionConverter.cs
- bidPrivateBase.cs
- IconHelper.cs
- CodeGeneratorAttribute.cs
- ToolStripContentPanel.cs
- XmlReflectionImporter.cs
- InkCanvas.cs
- SID.cs
- CodeSnippetExpression.cs
- SHA1CryptoServiceProvider.cs
- MappingException.cs
- ValueHandle.cs
- PerformanceCounterScope.cs
- MemberAssignment.cs
- TypeUtils.cs
- LinkLabel.cs
- Enlistment.cs
- BindingManagerDataErrorEventArgs.cs
- HMACRIPEMD160.cs
- MachinePropertyVariants.cs
- EventDescriptor.cs
- ArgumentOutOfRangeException.cs
- StandardBindingElementCollection.cs
- ZipIOCentralDirectoryBlock.cs
- PersonalizationStateInfo.cs
- XmlBoundElement.cs
- ResponseStream.cs
- WebUtility.cs
- MiniModule.cs
- HttpCacheVary.cs
- TextSegment.cs
- XmlSchemaImporter.cs
- FixedElement.cs
- DecoderFallback.cs
- BooleanExpr.cs
- CustomValidator.cs
- SQLDoubleStorage.cs
- FrameworkTemplate.cs
- ElapsedEventArgs.cs
- RemotingServices.cs
- DateTimeParse.cs
- DiscoveryViaBehavior.cs
- Util.cs
- TypeSystem.cs
- ZipIORawDataFileBlock.cs
- IsolationInterop.cs
- PackageProperties.cs
- FlatButtonAppearance.cs
- FixedStringLookup.cs
- DataGridRowEventArgs.cs
- Imaging.cs
- Codec.cs
- ButtonFlatAdapter.cs
- TextRange.cs
- AppDomainResourcePerfCounters.cs
- KeyMatchBuilder.cs
- AgileSafeNativeMemoryHandle.cs
- TcpTransportElement.cs
- ProcessThreadCollection.cs
- DateTimeParse.cs
- RewritingProcessor.cs
- ConfigXmlAttribute.cs
- VirtualPath.cs
- TdsParser.cs
- Dynamic.cs
- TimeSpanParse.cs
- GlobalAclOperationRequirement.cs
- FormViewPagerRow.cs
- TraceUtility.cs
- MSAANativeProvider.cs
- CustomExpression.cs
- MasterPageBuildProvider.cs
- CategoriesDocumentFormatter.cs
- EnumUnknown.cs
- StylusOverProperty.cs
- ErrorHandlingAcceptor.cs
- RoleManagerEventArgs.cs
- ObjectNavigationPropertyMapping.cs
- URLIdentityPermission.cs
- ProvidePropertyAttribute.cs
- AuthStoreRoleProvider.cs
- CapabilitiesPattern.cs
- ConfigXmlSignificantWhitespace.cs
- PointF.cs
- ClientProxyGenerator.cs
- UnaryNode.cs
- CrossAppDomainChannel.cs
- MergeEnumerator.cs
- SplitterDesigner.cs
- DbSetClause.cs
- TimeSpanValidatorAttribute.cs
- DriveInfo.cs
- DataRowChangeEvent.cs
- EntityUtil.cs
- CleanUpVirtualizedItemEventArgs.cs
- AlignmentYValidation.cs
- ConnectionPoint.cs