Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / ComIntegration / ComPlusTypeValidator.cs / 1 / ComPlusTypeValidator.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.ComIntegration { using System; using System.Reflection; using System.EnterpriseServices; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.ServiceModel; static class ComPlusTypeValidator { static Guid IID_Object = new Guid("{65074F7F-63C0-304E-AF0A-D51741CB4A8D}"); static Guid IID_IDisposable = new Guid("{805D7A98-D4AF-3F0F-967F-E5CF45312D2C}"); static Guid IID_IManagedObject = new Guid("{C3FCC19E-A970-11D2-8B5A-00A0C9B7C9C4}"); static Guid IID_IProcessInitializer = new Guid("{1113F52D-DC7F-4943-AED6-88D04027E32A}"); static Guid IID_IRemoteDispatch = new Guid("{6619A740-8154-43BE-A186-0319578E02DB}"); static Guid IID_IServicedComponentInfo = new Guid("{8165B19E-8D3A-4D0B-80C8-97DE310DB583}"); public static bool IsValidInterface(Guid iid) { if (iid == IID_Object || iid == IID_IDisposable || iid == IID_IManagedObject || iid == IID_IProcessInitializer || iid == IID_IRemoteDispatch || iid == IID_IServicedComponentInfo || iid.ToString("D").EndsWith("C000-000000000046", StringComparison.OrdinalIgnoreCase)) //other ole/com standard interfaces { return false; } return true; } public static bool IsValidParameter(Type type, ICustomAttributeProvider attributeProvider, bool allowReferences) { object[] attributes = System.ServiceModel.Description.ServiceReflector.GetCustomAttributes(attributeProvider, typeof(MarshalAsAttribute), true); foreach (MarshalAsAttribute attr in attributes) { UnmanagedType marshalAs = attr.Value; if (marshalAs == UnmanagedType.IDispatch || marshalAs == UnmanagedType.Interface || marshalAs == UnmanagedType.IUnknown) { return allowReferences; } } XsdDataContractExporter exporter = new XsdDataContractExporter(); if (!exporter.CanExport(type)) { return false; } return true; } } } // 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
- RSAOAEPKeyExchangeDeformatter.cs
- TextEditorDragDrop.cs
- MatchingStyle.cs
- PrimitiveType.cs
- SafeTokenHandle.cs
- mediapermission.cs
- OrderByLifter.cs
- WindowsListViewGroupSubsetLink.cs
- VarRefManager.cs
- BindingSource.cs
- SoapMessage.cs
- DashStyle.cs
- DbDeleteCommandTree.cs
- RegexFCD.cs
- ConnectionStringSettings.cs
- _KerberosClient.cs
- ProcessHostServerConfig.cs
- dbdatarecord.cs
- MapPathBasedVirtualPathProvider.cs
- BinaryKeyIdentifierClause.cs
- ACE.cs
- Vector3DAnimation.cs
- ListViewDeletedEventArgs.cs
- ScriptingJsonSerializationSection.cs
- StickyNote.cs
- categoryentry.cs
- documentation.cs
- KeyedHashAlgorithm.cs
- StreamSecurityUpgradeInitiatorBase.cs
- XmlElement.cs
- BamlRecordHelper.cs
- DataSetMappper.cs
- WindowsGraphics2.cs
- LoaderAllocator.cs
- GreenMethods.cs
- AsyncStreamReader.cs
- WebMessageEncodingElement.cs
- DbMetaDataColumnNames.cs
- DecimalFormatter.cs
- ListViewGroupItemCollection.cs
- OdbcConnectionOpen.cs
- Visual3D.cs
- Expression.cs
- ProxyGenerator.cs
- ComponentRenameEvent.cs
- TextBoxRenderer.cs
- ToolboxItem.cs
- PageWrapper.cs
- HtmlControlPersistable.cs
- TextEditorThreadLocalStore.cs
- SerializationInfo.cs
- XmlReflectionMember.cs
- PageClientProxyGenerator.cs
- TextLineBreak.cs
- HotSpot.cs
- ToolStripCollectionEditor.cs
- BindingGroup.cs
- Exception.cs
- UpDownBaseDesigner.cs
- Request.cs
- PeerHelpers.cs
- Parameter.cs
- ListMarkerSourceInfo.cs
- SourceCollection.cs
- UserPersonalizationStateInfo.cs
- Axis.cs
- CommonProperties.cs
- UpnEndpointIdentityExtension.cs
- NetTcpSection.cs
- HttpCachePolicy.cs
- ServicePoint.cs
- HandlerBase.cs
- MultiAsyncResult.cs
- CodeIdentifier.cs
- EventDriven.cs
- InputScopeNameConverter.cs
- ListViewCommandEventArgs.cs
- DescendantOverDescendantQuery.cs
- TextRangeSerialization.cs
- XmlNodeChangedEventManager.cs
- ClientSession.cs
- PtsHelper.cs
- XmlILAnnotation.cs
- ValidatorCompatibilityHelper.cs
- Exceptions.cs
- SmtpReplyReaderFactory.cs
- TempFiles.cs
- IsolatedStoragePermission.cs
- AnimationLayer.cs
- Bezier.cs
- IdentifierCollection.cs
- TreeNode.cs
- ResourceWriter.cs
- TreeNodeMouseHoverEvent.cs
- RowBinding.cs
- AdRotator.cs
- TableStyle.cs
- SafeNativeMethodsMilCoreApi.cs
- EdmProviderManifest.cs
- InstanceKeyCompleteException.cs