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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Helper.cs
- SimpleExpression.cs
- HandoffBehavior.cs
- XmlSchemaAppInfo.cs
- PathTooLongException.cs
- EntityDataSourceContextCreatedEventArgs.cs
- ClockController.cs
- HttpListenerRequest.cs
- ImmutablePropertyDescriptorGridEntry.cs
- DataBinder.cs
- QueryOperationResponseOfT.cs
- Application.cs
- DesignerForm.cs
- DataGridCaption.cs
- ConstraintStruct.cs
- Directory.cs
- UpnEndpointIdentity.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- SqlDataSource.cs
- ListViewPagedDataSource.cs
- Helpers.cs
- SystemParameters.cs
- AsymmetricKeyExchangeFormatter.cs
- ThreadExceptionDialog.cs
- SendSecurityHeaderElementContainer.cs
- MultipartContentParser.cs
- Model3DGroup.cs
- HandoffBehavior.cs
- MarshalByRefObject.cs
- PropVariant.cs
- IsolatedStorageFile.cs
- KeyValuePairs.cs
- Span.cs
- ProjectionCamera.cs
- UserInitiatedNavigationPermission.cs
- TableLayoutStyle.cs
- SQLResource.cs
- Int64Converter.cs
- MdiWindowListStrip.cs
- WindowsStatic.cs
- TextFindEngine.cs
- NameValueCollection.cs
- Int64Converter.cs
- UInt32Storage.cs
- ControlPersister.cs
- XmlExtensionFunction.cs
- ToolboxItemFilterAttribute.cs
- StrokeNodeEnumerator.cs
- XmlHierarchicalEnumerable.cs
- DetailsViewDeletedEventArgs.cs
- UnsafeCollabNativeMethods.cs
- DependencyPropertyDescriptor.cs
- ManipulationDeltaEventArgs.cs
- Setter.cs
- DateTimePickerDesigner.cs
- GeneralTransform3DGroup.cs
- StyleModeStack.cs
- BinHexDecoder.cs
- BrowserDefinition.cs
- MSAANativeProvider.cs
- SqlWebEventProvider.cs
- FunctionDescription.cs
- HtmlElementEventArgs.cs
- CancellationToken.cs
- SpeechDetectedEventArgs.cs
- PropertyMetadata.cs
- DataPointer.cs
- RadioButtonBaseAdapter.cs
- LicFileLicenseProvider.cs
- TextParaClient.cs
- ContainerSelectorGlyph.cs
- FullTrustAssemblyCollection.cs
- SqlMetaData.cs
- DataListItem.cs
- ManagementExtension.cs
- TextTreeRootTextBlock.cs
- URLString.cs
- XmlSchemaInferenceException.cs
- Encoder.cs
- ScriptReferenceEventArgs.cs
- ScrollBarRenderer.cs
- ModifierKeysValueSerializer.cs
- RenderDataDrawingContext.cs
- DbDataReader.cs
- XPathAncestorQuery.cs
- DefaultValueTypeConverter.cs
- HttpStreams.cs
- FontStretchConverter.cs
- SerializationEventsCache.cs
- DynamicObjectAccessor.cs
- EdmItemError.cs
- UidManager.cs
- coordinator.cs
- OpenTypeCommon.cs
- RenamedEventArgs.cs
- CallTemplateAction.cs
- FrameworkPropertyMetadata.cs
- Error.cs
- OutputCacheSection.cs
- XmlSchemaRedefine.cs