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
- CompilerHelpers.cs
- IxmlLineInfo.cs
- TouchDevice.cs
- CopyNamespacesAction.cs
- ConfigurationManagerHelper.cs
- Buffer.cs
- SqlDataSourceCache.cs
- ConsumerConnectionPointCollection.cs
- ListViewInsertEventArgs.cs
- PrimitiveRenderer.cs
- RecordsAffectedEventArgs.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- SafeFileMappingHandle.cs
- CapacityStreamGeometryContext.cs
- XmlTextAttribute.cs
- SqlUtils.cs
- DependentList.cs
- EntitySqlException.cs
- LineUtil.cs
- ObjectDataSourceMethodEditor.cs
- QilValidationVisitor.cs
- ClaimSet.cs
- SecurityUtils.cs
- ParameterRefs.cs
- ReadContentAsBinaryHelper.cs
- MappingException.cs
- SQLDecimalStorage.cs
- TypeDelegator.cs
- ResourcePool.cs
- FigureParagraph.cs
- GestureRecognizer.cs
- EditorOptionAttribute.cs
- SQLSingleStorage.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ThemeableAttribute.cs
- XmlStreamStore.cs
- SiteMapNodeItem.cs
- ConstraintManager.cs
- SqlVisitor.cs
- DocumentSchemaValidator.cs
- ByteKeyFrameCollection.cs
- DataControlImageButton.cs
- KnownBoxes.cs
- CacheDependency.cs
- QilInvokeEarlyBound.cs
- BatchParser.cs
- ConnectionInterfaceCollection.cs
- SafeArrayRankMismatchException.cs
- PersonalizableTypeEntry.cs
- RSAOAEPKeyExchangeDeformatter.cs
- CheckBox.cs
- ManagedFilter.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- WsdlHelpGeneratorElement.cs
- DataSourceProvider.cs
- SimpleMailWebEventProvider.cs
- SqlErrorCollection.cs
- SpellCheck.cs
- WebSysDefaultValueAttribute.cs
- ControlType.cs
- AdornerLayer.cs
- ServiceObjectContainer.cs
- DiscoveryInnerClientAdhoc11.cs
- SqlClientWrapperSmiStreamChars.cs
- ProcessHostConfigUtils.cs
- FrameworkTextComposition.cs
- DocumentGridPage.cs
- JsonWriter.cs
- XmlHierarchyData.cs
- DispatcherObject.cs
- OpenTypeLayoutCache.cs
- TimeZoneNotFoundException.cs
- CodeTypeReferenceExpression.cs
- FrameworkElementFactoryMarkupObject.cs
- SchemaNames.cs
- AttachmentService.cs
- CompositeKey.cs
- BuildResult.cs
- SqlFactory.cs
- DecoderExceptionFallback.cs
- TextClipboardData.cs
- RelationshipEnd.cs
- BinaryFormatter.cs
- NameNode.cs
- PartitionResolver.cs
- FontFaceLayoutInfo.cs
- TextViewSelectionProcessor.cs
- MetadataSerializer.cs
- BitmapMetadataEnumerator.cs
- SamlConstants.cs
- SQLDateTime.cs
- RotateTransform3D.cs
- AliasGenerator.cs
- PageEventArgs.cs
- DocumentViewerConstants.cs
- EditingScopeUndoUnit.cs
- CacheAxisQuery.cs
- RoleService.cs
- VectorConverter.cs
- BStrWrapper.cs