Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Log / System / IO / Log / SmuggledIUnknown.cs / 1305376 / SmuggledIUnknown.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IO.Log { using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Remoting.Services; internal sealed class SmuggledIUnknown : SafeHandle { internal SmuggledIUnknown() : base(IntPtr.Zero, true) { } internal SmuggledIUnknown(object unknown) : this() { RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { base.handle = Marshal.GetIUnknownForObject(unknown); } } public override bool IsInvalid { get { return (IsClosed || (IntPtr.Zero == base.handle)); } } public object Smuggle() { object comObject; RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { comObject = EnterpriseServicesHelper.WrapIUnknownWithComObject(base.handle); GC.KeepAlive(this); } return comObject; } override protected bool ReleaseHandle() { if (base.handle != IntPtr.Zero) { Marshal.Release(base.handle); base.handle = IntPtr.Zero; } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StylusLogic.cs
- JsonReader.cs
- Roles.cs
- RemoteWebConfigurationHostStream.cs
- DbParameterCollectionHelper.cs
- DbParameterCollectionHelper.cs
- TabRenderer.cs
- XmlSignatureProperties.cs
- ToolStripDropDownItem.cs
- TCPListener.cs
- NameScope.cs
- RelationshipConstraintValidator.cs
- ItemChangedEventArgs.cs
- StorageEntitySetMapping.cs
- DocumentViewerConstants.cs
- MailDefinition.cs
- Selection.cs
- ImplicitInputBrush.cs
- xmlsaver.cs
- EpmSourcePathSegment.cs
- NonVisualControlAttribute.cs
- DataGridHeaderBorder.cs
- SqlCacheDependencyDatabaseCollection.cs
- UriWriter.cs
- ApplicationSecurityInfo.cs
- XPathMultyIterator.cs
- HtmlEmptyTagControlBuilder.cs
- EditorServiceContext.cs
- DesignerSerializerAttribute.cs
- PathFigure.cs
- IMembershipProvider.cs
- ToolStripHighContrastRenderer.cs
- MinMaxParagraphWidth.cs
- ValueUnavailableException.cs
- RuntimeResourceSet.cs
- XsltFunctions.cs
- ContravarianceAdapter.cs
- HtmlEmptyTagControlBuilder.cs
- ToolboxItem.cs
- TextServicesLoader.cs
- DeviceOverridableAttribute.cs
- LockedActivityGlyph.cs
- DiscoveryService.cs
- XmlQueryRuntime.cs
- PostBackOptions.cs
- XmlStreamNodeWriter.cs
- RegexNode.cs
- ScaleTransform3D.cs
- AsyncPostBackTrigger.cs
- OdbcUtils.cs
- NativeMethods.cs
- ConvertBinder.cs
- Timer.cs
- MetadataStore.cs
- ListenerBinder.cs
- DecimalConverter.cs
- TextBox.cs
- WorkflowPrinting.cs
- WebBrowserPermission.cs
- HttpCapabilitiesBase.cs
- ImagingCache.cs
- WebPartDisplayModeCollection.cs
- CustomLineCap.cs
- XmlWriterSettings.cs
- PTProvider.cs
- Point3DValueSerializer.cs
- DifferencingCollection.cs
- SafeHandles.cs
- BehaviorDragDropEventArgs.cs
- UncommonField.cs
- PreviewPrintController.cs
- BackEase.cs
- SystemTcpConnection.cs
- AvTraceDetails.cs
- BrowserCapabilitiesFactoryBase.cs
- ResourceAssociationTypeEnd.cs
- MachineKeySection.cs
- SerializationObjectManager.cs
- WeakReference.cs
- RawStylusInputCustomDataList.cs
- ImportedPolicyConversionContext.cs
- ExceptionRoutedEventArgs.cs
- SqlXml.cs
- Condition.cs
- SendingRequestEventArgs.cs
- MatrixCamera.cs
- WebMessageBodyStyleHelper.cs
- WebAdminConfigurationHelper.cs
- DrawingAttributes.cs
- PreservationFileWriter.cs
- BulletChrome.cs
- WebHostedComPlusServiceHost.cs
- DependencyPropertyDescriptor.cs
- httpserverutility.cs
- ServiceConfigurationTraceRecord.cs
- DesignOnlyAttribute.cs
- TextRunProperties.cs
- MouseGestureValueSerializer.cs
- SyndicationDeserializer.cs
- SafeNativeMethods.cs