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
- DefaultCompensation.cs
- GridErrorDlg.cs
- diagnosticsswitches.cs
- PropertyMappingExceptionEventArgs.cs
- itemelement.cs
- RsaSecurityKey.cs
- ObjectConverter.cs
- AggregateNode.cs
- DataRecord.cs
- ClientSideQueueItem.cs
- _SingleItemRequestCache.cs
- AsynchronousChannelMergeEnumerator.cs
- XmlSchemaSet.cs
- EntityDataSourceUtil.cs
- ExtractedStateEntry.cs
- ModifiableIteratorCollection.cs
- HostingEnvironment.cs
- AssemblyBuilder.cs
- WebInvokeAttribute.cs
- DbConnectionOptions.cs
- Matrix3DConverter.cs
- AtomEntry.cs
- LassoSelectionBehavior.cs
- DataGridViewAccessibleObject.cs
- LinqDataSourceDeleteEventArgs.cs
- TextChangedEventArgs.cs
- PerformanceCounterPermissionAttribute.cs
- MenuItemBindingCollection.cs
- CryptoHelper.cs
- DependencyObjectProvider.cs
- DatatypeImplementation.cs
- ApplicationSettingsBase.cs
- WindowsNonControl.cs
- CryptoConfig.cs
- StylusDevice.cs
- TableProviderWrapper.cs
- PseudoWebRequest.cs
- SqlBulkCopy.cs
- HotSpot.cs
- Panel.cs
- DiscoveryOperationContextExtension.cs
- View.cs
- TwoPhaseCommit.cs
- CellParaClient.cs
- webbrowsersite.cs
- BaseValidator.cs
- BaseHashHelper.cs
- ExtendedPropertyInfo.cs
- MarkerProperties.cs
- SmtpNetworkElement.cs
- MemberPathMap.cs
- AsyncPostBackTrigger.cs
- ThicknessAnimation.cs
- IsolatedStorageFileStream.cs
- NavigationExpr.cs
- HeaderLabel.cs
- AdornerLayer.cs
- SqlBuffer.cs
- XmlElement.cs
- StatusBar.cs
- NullableConverter.cs
- DirectoryRootQuery.cs
- UrlPath.cs
- ItemPager.cs
- SqlEnums.cs
- RadioButtonPopupAdapter.cs
- JoinTreeSlot.cs
- SqlBuffer.cs
- RenderDataDrawingContext.cs
- LinearKeyFrames.cs
- XpsS0ValidatingLoader.cs
- MenuEventArgs.cs
- EditingCoordinator.cs
- XmlImplementation.cs
- httpstaticobjectscollection.cs
- XsdBuildProvider.cs
- C14NUtil.cs
- DynamicDiscoSearcher.cs
- PngBitmapEncoder.cs
- Win32PrintDialog.cs
- MimeXmlImporter.cs
- InkCollectionBehavior.cs
- EncoderFallback.cs
- DataSetFieldSchema.cs
- MessageBuffer.cs
- XmlDataImplementation.cs
- EntityDataSourceStatementEditorForm.cs
- EventMappingSettingsCollection.cs
- UidManager.cs
- ToolStripCodeDomSerializer.cs
- Types.cs
- CriticalFinalizerObject.cs
- HtmlElementErrorEventArgs.cs
- OutputCacheEntry.cs
- IisTraceListener.cs
- InkSerializer.cs
- IDataContractSurrogate.cs
- TextTreeNode.cs
- TimeSpanStorage.cs
- BinaryMethodMessage.cs