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
- WebEventTraceProvider.cs
- SafeNativeMethodsMilCoreApi.cs
- LongValidatorAttribute.cs
- List.cs
- HandlerFactoryCache.cs
- ValueTypeFixupInfo.cs
- SoapEnumAttribute.cs
- PixelFormat.cs
- DataGridToolTip.cs
- ClockController.cs
- MatrixTransform3D.cs
- StorageTypeMapping.cs
- ParseChildrenAsPropertiesAttribute.cs
- SiteMapProvider.cs
- TaiwanLunisolarCalendar.cs
- WindowsScrollBar.cs
- ThemeDictionaryExtension.cs
- PointF.cs
- PermissionAttributes.cs
- StyleSheet.cs
- ComPersistableTypeElementCollection.cs
- QueryExecutionOption.cs
- NetStream.cs
- DateTimeFormat.cs
- ProgressBarBrushConverter.cs
- MinMaxParagraphWidth.cs
- ViewPort3D.cs
- Attributes.cs
- HttpCapabilitiesEvaluator.cs
- Triangle.cs
- WebServiceClientProxyGenerator.cs
- SocketPermission.cs
- TcpTransportManager.cs
- XmlBaseReader.cs
- SchemaLookupTable.cs
- ThreadExceptionDialog.cs
- CharacterShapingProperties.cs
- QilCloneVisitor.cs
- BaseDataListDesigner.cs
- ConfigurationValidatorBase.cs
- ListChangedEventArgs.cs
- SqlConnection.cs
- StylusPointDescription.cs
- CounterSampleCalculator.cs
- ProxyGenerator.cs
- _Rfc2616CacheValidators.cs
- Binding.cs
- DataViewListener.cs
- ManagementEventArgs.cs
- WebZoneDesigner.cs
- ResourcePermissionBase.cs
- prompt.cs
- ShutDownListener.cs
- BitVec.cs
- WindowShowOrOpenTracker.cs
- ColorBlend.cs
- LazyTextWriterCreator.cs
- MexHttpsBindingElement.cs
- MediaContext.cs
- assertwrapper.cs
- DependencyPropertyAttribute.cs
- CompilationUnit.cs
- VariableQuery.cs
- DetailsViewInsertedEventArgs.cs
- EntityDataSourceContainerNameItem.cs
- ClientData.cs
- TextSelection.cs
- Polyline.cs
- IdentitySection.cs
- WebConfigurationManager.cs
- Adorner.cs
- ContextConfiguration.cs
- HttpValueCollection.cs
- PersianCalendar.cs
- ProviderSettings.cs
- HandleRef.cs
- _IPv4Address.cs
- DataGridViewRowsAddedEventArgs.cs
- ParameterEditorUserControl.cs
- EnumBuilder.cs
- MenuItem.cs
- ByteStreamBufferedMessageData.cs
- JoinQueryOperator.cs
- ResourcesBuildProvider.cs
- Positioning.cs
- ScriptResourceMapping.cs
- ThreadStateException.cs
- EntityCommandDefinition.cs
- MessageBodyMemberAttribute.cs
- SrgsRulesCollection.cs
- SqlTransaction.cs
- EdmType.cs
- Point.cs
- ConstructorNeedsTagAttribute.cs
- DataGridView.cs
- remotingproxy.cs
- TypeSource.cs
- ImageSourceValueSerializer.cs
- PositiveTimeSpanValidator.cs
- XmlnsCache.cs