Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / CoTaskMemUnicodeSafeHandle.cs / 1305376 / CoTaskMemUnicodeSafeHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: CoTaskMemUnicodeSafeHandle ** ** Purpose: ** This internal class is a SafeHandle implementation over a ** native CoTaskMem allocated via SecureStringToCoTaskMemUnicode. ** ============================================================*/ using System; using System.Runtime.InteropServices; using System.Security.Permissions; namespace System.Diagnostics.Eventing.Reader { // // Marked as SecurityCritical due to link demands from inherited // SafeHandle members. // #pragma warning disable 618 // Have not migrated to v4 transparency yet [System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)] #pragma warning restore 618 internal sealed class CoTaskMemUnicodeSafeHandle : SafeHandle { internal CoTaskMemUnicodeSafeHandle() : base(IntPtr.Zero, true) { } internal CoTaskMemUnicodeSafeHandle(IntPtr handle, bool ownsHandle) : base(IntPtr.Zero, ownsHandle) { SetHandle(handle); } internal void SetMemory(IntPtr handle) { SetHandle(handle); } internal IntPtr GetMemory() { return handle; } public override bool IsInvalid { get { return IsClosed || handle == IntPtr.Zero; } } protected override bool ReleaseHandle() { Marshal.ZeroFreeCoTaskMemUnicode(handle); handle = IntPtr.Zero; return true; } // DONT compare CoTaskMemUnicodeSafeHandle with CoTaskMemUnicodeSafeHandle.Zero // use IsInvalid instead. Zero is provided where a NULL handle needed public static CoTaskMemUnicodeSafeHandle Zero { get { return new CoTaskMemUnicodeSafeHandle(); } } } } // 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
- HostVisual.cs
- SoapSchemaMember.cs
- InvariantComparer.cs
- TdsParser.cs
- GraphicsPath.cs
- SvcFileManager.cs
- HorizontalAlignConverter.cs
- XmlObjectSerializerReadContext.cs
- XPathArrayIterator.cs
- RelativeSource.cs
- UserNamePasswordValidationMode.cs
- OleDbSchemaGuid.cs
- NativeMethods.cs
- SystemIPv4InterfaceProperties.cs
- SqlDataSourceSelectingEventArgs.cs
- WebException.cs
- PackWebRequest.cs
- DataSourceHelper.cs
- MetadataItemEmitter.cs
- MailMessageEventArgs.cs
- PackageProperties.cs
- Rect3DValueSerializer.cs
- Point3DAnimationBase.cs
- XmlHierarchicalEnumerable.cs
- ExceptionAggregator.cs
- DataViewSetting.cs
- _CookieModule.cs
- NumericUpDown.cs
- LoadItemsEventArgs.cs
- DateTimeStorage.cs
- ListItemCollection.cs
- TagMapInfo.cs
- _LoggingObject.cs
- TextRunCacheImp.cs
- Rect3D.cs
- MsmqChannelFactory.cs
- OleDbReferenceCollection.cs
- ProxyAssemblyNotLoadedException.cs
- RowUpdatedEventArgs.cs
- FontUnit.cs
- CqlBlock.cs
- SettingsBase.cs
- CacheDependency.cs
- SymDocumentType.cs
- Control.cs
- Schema.cs
- _Connection.cs
- DesigntimeLicenseContext.cs
- DocumentCollection.cs
- XmlEncodedRawTextWriter.cs
- LOSFormatter.cs
- EventLogTraceListener.cs
- TextEditorParagraphs.cs
- WorkflowDesignerColors.cs
- AsyncSerializedWorker.cs
- System.Data_BID.cs
- GridViewEditEventArgs.cs
- CheckBoxList.cs
- ControlIdConverter.cs
- LineInfo.cs
- WebBrowsableAttribute.cs
- XMLSchema.cs
- SrgsElementFactoryCompiler.cs
- SettingsPropertyIsReadOnlyException.cs
- BuildProvider.cs
- FlowSwitchDesigner.xaml.cs
- BitmapEffectOutputConnector.cs
- MaxValueConverter.cs
- _RequestLifetimeSetter.cs
- WebPartMenuStyle.cs
- BindingCollection.cs
- EditorZoneDesigner.cs
- CompatibleComparer.cs
- KeyTime.cs
- QueuePathEditor.cs
- Parser.cs
- EventRouteFactory.cs
- Rect3DValueSerializer.cs
- DataBoundLiteralControl.cs
- StreamInfo.cs
- ImageListStreamer.cs
- CounterCreationDataCollection.cs
- AnimationClock.cs
- XmlSchemaComplexContentRestriction.cs
- Errors.cs
- DeclarationUpdate.cs
- XmlSchemaChoice.cs
- FieldAccessException.cs
- CheckedListBox.cs
- CollectionViewProxy.cs
- TextRangeBase.cs
- DesignerSerializationVisibilityAttribute.cs
- BindingWorker.cs
- ClientRolePrincipal.cs
- SqlDataSourceCommandEventArgs.cs
- EventDescriptor.cs
- WebPartConnectionsCancelEventArgs.cs
- FormatterServices.cs
- FixedSOMPageElement.cs
- TileBrush.cs