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
- odbcmetadatacolumnnames.cs
- WindowsUpDown.cs
- ToolStripMenuItemCodeDomSerializer.cs
- Polyline.cs
- FunctionImportElement.cs
- OracleMonthSpan.cs
- FtpWebRequest.cs
- AnnotationAuthorChangedEventArgs.cs
- GeometryGroup.cs
- PropertyGridView.cs
- HScrollBar.cs
- NameValuePermission.cs
- FormatConvertedBitmap.cs
- followingquery.cs
- TableLayoutCellPaintEventArgs.cs
- ImageIndexConverter.cs
- AudioFormatConverter.cs
- CodeMemberField.cs
- GraphicsPath.cs
- Point3D.cs
- DocumentViewerBaseAutomationPeer.cs
- CLRBindingWorker.cs
- TemplateBamlRecordReader.cs
- DockPatternIdentifiers.cs
- Registration.cs
- IsolatedStorage.cs
- FrameSecurityDescriptor.cs
- CheckBoxBaseAdapter.cs
- DateTimeOffsetAdapter.cs
- TimeSpanStorage.cs
- DialogResultConverter.cs
- COM2ICategorizePropertiesHandler.cs
- IImplicitResourceProvider.cs
- CatalogPart.cs
- SafeBitVector32.cs
- XmlCodeExporter.cs
- XmlChoiceIdentifierAttribute.cs
- SessionStateSection.cs
- RequestTimeoutManager.cs
- DataGridLinkButton.cs
- IISUnsafeMethods.cs
- NullableBoolConverter.cs
- CheckBoxStandardAdapter.cs
- _SingleItemRequestCache.cs
- Gdiplus.cs
- DiscoveryMessageSequence11.cs
- UIElement3D.cs
- XsltException.cs
- RSAProtectedConfigurationProvider.cs
- XamlWrapperReaders.cs
- ExtentKey.cs
- FormsAuthenticationEventArgs.cs
- KeyboardNavigation.cs
- PropertyMappingExceptionEventArgs.cs
- UserMapPath.cs
- TableFieldsEditor.cs
- InfoCardMetadataExchangeClient.cs
- FixedSOMTableRow.cs
- SplashScreenNativeMethods.cs
- ConfigXmlAttribute.cs
- PieceNameHelper.cs
- WebPartConnection.cs
- BitmapMetadata.cs
- CodeEntryPointMethod.cs
- SoapProtocolReflector.cs
- SslStream.cs
- TextBoxRenderer.cs
- CharAnimationBase.cs
- newinstructionaction.cs
- FormViewCommandEventArgs.cs
- User.cs
- ContainerUIElement3D.cs
- DetailsViewPageEventArgs.cs
- SynchronizationHandlesCodeDomSerializer.cs
- XmlSchemaChoice.cs
- DesignerTextWriter.cs
- SizeConverter.cs
- UriScheme.cs
- CodeSubDirectory.cs
- DataBoundControlAdapter.cs
- URLIdentityPermission.cs
- Registry.cs
- DataFieldCollectionEditor.cs
- StatusBar.cs
- DBConnectionString.cs
- WindowsSysHeader.cs
- DesignerAdapterAttribute.cs
- Exceptions.cs
- MDIClient.cs
- DbConnectionClosed.cs
- SingleSelectRootGridEntry.cs
- RtfNavigator.cs
- IsolationInterop.cs
- TagNameToTypeMapper.cs
- DragStartedEventArgs.cs
- CommandManager.cs
- StylusPlugInCollection.cs
- ConfigXmlAttribute.cs
- MobileResource.cs
- ExtendedPropertyCollection.cs