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
- BitmapCodecInfo.cs
- ContentPosition.cs
- GeometryCombineModeValidation.cs
- FilterUserControlBase.cs
- DbConnectionFactory.cs
- DataRowCollection.cs
- DataViewManagerListItemTypeDescriptor.cs
- ElementUtil.cs
- BitHelper.cs
- PersonalizationStateQuery.cs
- ComponentDesigner.cs
- HttpCacheVary.cs
- StreamGeometry.cs
- AssociationSet.cs
- BinaryConverter.cs
- SubMenuStyleCollection.cs
- PolicyUnit.cs
- _DisconnectOverlappedAsyncResult.cs
- WMIGenerator.cs
- ObjectItemCollection.cs
- FaultDesigner.cs
- ValueUtilsSmi.cs
- PageCache.cs
- TraceSection.cs
- RootAction.cs
- AnnotationDocumentPaginator.cs
- CoTaskMemHandle.cs
- FunctionDescription.cs
- CopyOnWriteList.cs
- ManagementDateTime.cs
- LinkUtilities.cs
- CustomAttribute.cs
- AccessDataSourceWizardForm.cs
- MatrixTransform.cs
- FlagsAttribute.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- regiisutil.cs
- CasesDictionary.cs
- CfgParser.cs
- XmlNamespaceMappingCollection.cs
- SqlLiftWhereClauses.cs
- LoadedOrUnloadedOperation.cs
- LinqDataSourceSelectEventArgs.cs
- ProfileSettings.cs
- PolicyValidationException.cs
- OutKeywords.cs
- DebuggerAttributes.cs
- DataGridViewUtilities.cs
- SectionUpdates.cs
- MetafileHeader.cs
- ObjectNavigationPropertyMapping.cs
- BuildProvidersCompiler.cs
- KnownAssembliesSet.cs
- GlobalizationAssembly.cs
- GenericPrincipal.cs
- SqlDataRecord.cs
- ResourceProviderFactory.cs
- DataGridViewColumn.cs
- GridViewRowEventArgs.cs
- LoginDesignerUtil.cs
- CacheSection.cs
- TypeConverterValueSerializer.cs
- SqlDataSourceDesigner.cs
- Publisher.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- LexicalChunk.cs
- ToolboxBitmapAttribute.cs
- SqlParameterizer.cs
- SystemBrushes.cs
- BidPrivateBase.cs
- HasCopySemanticsAttribute.cs
- FlowLayoutSettings.cs
- DataGridLinkButton.cs
- InvokeMethod.cs
- odbcmetadatacolumnnames.cs
- ProviderCollection.cs
- TemplateControlBuildProvider.cs
- XmlNodeReader.cs
- CatchDesigner.xaml.cs
- Paragraph.cs
- PropertyDescriptorGridEntry.cs
- DynamicDataResources.Designer.cs
- XmlSchemaNotation.cs
- ResourceIDHelper.cs
- ToolboxControl.cs
- ConfigsHelper.cs
- RootBrowserWindow.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- storepermissionattribute.cs
- TypeSystemHelpers.cs
- EventLogPermissionAttribute.cs
- ExpressionBindingCollection.cs
- ConnectionConsumerAttribute.cs
- RegexGroupCollection.cs
- OdbcTransaction.cs
- InternalSendMessage.cs
- ApplicationHost.cs
- TreeWalker.cs
- SpeakInfo.cs
- Int16.cs