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
- EastAsianLunisolarCalendar.cs
- TableParagraph.cs
- HandlerFactoryWrapper.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- RowUpdatedEventArgs.cs
- WebPartsPersonalizationAuthorization.cs
- ResourcesGenerator.cs
- KeyBinding.cs
- Component.cs
- StructuralObject.cs
- QueryableDataSourceHelper.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- FormatSelectingMessageInspector.cs
- XsdCachingReader.cs
- ToolBarButton.cs
- PeerCollaboration.cs
- MbpInfo.cs
- HtmlInputSubmit.cs
- AdornerLayer.cs
- SchemaImporter.cs
- GlyphRun.cs
- AxImporter.cs
- RenderContext.cs
- PEFileEvidenceFactory.cs
- ExtentKey.cs
- ListBase.cs
- SoapCodeExporter.cs
- WindowsListViewItemStartMenu.cs
- templategroup.cs
- StringReader.cs
- RelationshipEntry.cs
- StickyNoteContentControl.cs
- CoreSwitches.cs
- AssociatedControlConverter.cs
- AmbientProperties.cs
- EffectiveValueEntry.cs
- ContextMarshalException.cs
- ObjectComplexPropertyMapping.cs
- ScalarConstant.cs
- MenuBase.cs
- ToolStripItemTextRenderEventArgs.cs
- HijriCalendar.cs
- WebServiceMethodData.cs
- XmlTextReader.cs
- AvtEvent.cs
- UnknownBitmapEncoder.cs
- ImageAutomationPeer.cs
- PageHandlerFactory.cs
- TypeConverter.cs
- X509ChainPolicy.cs
- SQLInt32.cs
- EventLogEntry.cs
- SqlServer2KCompatibilityAnnotation.cs
- CounterSample.cs
- DependentTransaction.cs
- DataGridViewTextBoxEditingControl.cs
- StringDictionary.cs
- ValidationSummary.cs
- SerTrace.cs
- FillErrorEventArgs.cs
- WinFormsSpinner.cs
- NetCodeGroup.cs
- _HeaderInfoTable.cs
- MessageVersion.cs
- ModelVisual3D.cs
- CaseInsensitiveComparer.cs
- ToolStripTextBox.cs
- ObjectSet.cs
- PhysicalOps.cs
- OrderByQueryOptionExpression.cs
- BufferedWebEventProvider.cs
- EtwTrackingParticipant.cs
- SiteOfOriginContainer.cs
- Screen.cs
- TreeViewEvent.cs
- InvalidComObjectException.cs
- SqlFacetAttribute.cs
- FileDialogCustomPlacesCollection.cs
- HttpCapabilitiesBase.cs
- PageBreakRecord.cs
- SchemaInfo.cs
- Membership.cs
- WebBrowsableAttribute.cs
- SynchronizationLockException.cs
- GestureRecognitionResult.cs
- DragEvent.cs
- altserialization.cs
- NullExtension.cs
- WebPartVerb.cs
- GenericWebPart.cs
- CodeDirectiveCollection.cs
- __Filters.cs
- FileSystemEventArgs.cs
- DocumentOrderComparer.cs
- SqlServices.cs
- PropertiesTab.cs
- CodeCompileUnit.cs
- EntityProviderFactory.cs
- ChameleonKey.cs
- ZipIOEndOfCentralDirectoryBlock.cs