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
- TextInfo.cs
- NativeMethods.cs
- Win32Exception.cs
- QilReplaceVisitor.cs
- StatusBarPanel.cs
- ReceiveSecurityHeaderEntry.cs
- BamlLocalizationDictionary.cs
- PropertyGridCommands.cs
- CommandSet.cs
- HttpEncoder.cs
- MemoryRecordBuffer.cs
- Expression.cs
- SqlRowUpdatingEvent.cs
- ObjectView.cs
- ClientRolePrincipal.cs
- LinkButton.cs
- SqlNode.cs
- SystemSounds.cs
- DispatchWrapper.cs
- SecurityNegotiationException.cs
- CommandBinding.cs
- AutomationElement.cs
- OleDbCommandBuilder.cs
- Lock.cs
- ProxyElement.cs
- ContentFilePart.cs
- CustomAttributeBuilder.cs
- HttpPostedFile.cs
- ClipboardData.cs
- XLinq.cs
- PermissionSet.cs
- Lookup.cs
- WebControlParameterProxy.cs
- TabItemWrapperAutomationPeer.cs
- MenuStrip.cs
- ObjectView.cs
- SmiTypedGetterSetter.cs
- MatrixConverter.cs
- CompatibleComparer.cs
- LOSFormatter.cs
- PointAnimation.cs
- LongCountAggregationOperator.cs
- BasePattern.cs
- RegexFCD.cs
- EditorResources.cs
- SQLBytesStorage.cs
- TextCompositionManager.cs
- ImageBrush.cs
- SerializationException.cs
- ArraySet.cs
- KeyFrames.cs
- ListControlBuilder.cs
- DataGridTextBox.cs
- InternalControlCollection.cs
- TextElementCollectionHelper.cs
- DataGridRowClipboardEventArgs.cs
- DeferredSelectedIndexReference.cs
- ServicePerformanceCounters.cs
- WinInetCache.cs
- SectionInformation.cs
- ListViewItemCollectionEditor.cs
- ResXBuildProvider.cs
- XmlQueryOutput.cs
- TabletDeviceInfo.cs
- ObjectSet.cs
- EditorPart.cs
- DefaultMemberAttribute.cs
- LicenseManager.cs
- TextHidden.cs
- SmtpNtlmAuthenticationModule.cs
- XmlSchemaSimpleType.cs
- _UncName.cs
- webeventbuffer.cs
- PropertyGridView.cs
- PartEditor.cs
- GreaterThan.cs
- FileAuthorizationModule.cs
- DiscoveryRequestHandler.cs
- NavigationService.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SafeNativeMemoryHandle.cs
- NamedPermissionSet.cs
- BitmapCacheBrush.cs
- DbParameterCollection.cs
- listitem.cs
- SmiGettersStream.cs
- _SslState.cs
- ComponentCollection.cs
- ColumnMapProcessor.cs
- GridViewActionList.cs
- _BufferOffsetSize.cs
- ObjectCloneHelper.cs
- PropagatorResult.cs
- EmptyQuery.cs
- InkCanvasAutomationPeer.cs
- SettingsPropertyNotFoundException.cs
- ApplicationCommands.cs
- NativeMethodsOther.cs
- ReturnEventArgs.cs
- MarkupCompiler.cs