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
- HtmlControlPersistable.cs
- ForwardPositionQuery.cs
- FlowLayoutPanelDesigner.cs
- ToolStripLocationCancelEventArgs.cs
- ProfilePropertyNameValidator.cs
- PassportAuthenticationEventArgs.cs
- RegionIterator.cs
- LogEntrySerialization.cs
- LocalizedNameDescriptionPair.cs
- CorruptStoreException.cs
- TreeWalkHelper.cs
- ControlBuilderAttribute.cs
- FileDetails.cs
- MulticastIPAddressInformationCollection.cs
- IndexerNameAttribute.cs
- OptimizerPatterns.cs
- CompiledIdentityConstraint.cs
- CompilerLocalReference.cs
- SafeLocalAllocation.cs
- documentation.cs
- StaticExtension.cs
- AccessibleObject.cs
- WithParamAction.cs
- CodeAttributeDeclarationCollection.cs
- IERequestCache.cs
- SQLInt32.cs
- PriorityQueue.cs
- ParallelTimeline.cs
- OleDbStruct.cs
- OdbcConnectionStringbuilder.cs
- QueryCoreOp.cs
- FontStretch.cs
- DataGridView.cs
- DataRow.cs
- KeyInfo.cs
- SystemIPGlobalProperties.cs
- IndexOutOfRangeException.cs
- DataGridRowsPresenter.cs
- ProfileEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- Socket.cs
- TargetControlTypeCache.cs
- EventBindingService.cs
- Grammar.cs
- SocketPermission.cs
- WindowsRichEdit.cs
- FontFamily.cs
- DataStorage.cs
- ContainerControl.cs
- AssertSection.cs
- HyperLink.cs
- MaterialGroup.cs
- TimeSpanMinutesConverter.cs
- DebugHandleTracker.cs
- _LocalDataStoreMgr.cs
- ExecutionContext.cs
- AspCompat.cs
- LinearQuaternionKeyFrame.cs
- DocumentPaginator.cs
- SmiEventSink.cs
- Decorator.cs
- GeneratedView.cs
- QueryExpression.cs
- ChineseLunisolarCalendar.cs
- TailCallAnalyzer.cs
- MessagingActivityHelper.cs
- TransformProviderWrapper.cs
- DoubleAnimation.cs
- RefType.cs
- FileAuthorizationModule.cs
- EntityUtil.cs
- AttachedAnnotationChangedEventArgs.cs
- DocumentPage.cs
- SoapRpcServiceAttribute.cs
- XmlIlTypeHelper.cs
- PointCollection.cs
- UrlAuthFailedErrorFormatter.cs
- PolyBezierSegment.cs
- GeometryDrawing.cs
- WSSecurityTokenSerializer.cs
- SecurityContext.cs
- Line.cs
- MissingMethodException.cs
- DragEvent.cs
- PathFigure.cs
- MinMaxParagraphWidth.cs
- Memoizer.cs
- PropertyGeneratedEventArgs.cs
- SegmentInfo.cs
- UrlParameterReader.cs
- Canvas.cs
- DesignerGeometryHelper.cs
- WebPartPersonalization.cs
- Filter.cs
- RoutedEventArgs.cs
- precedingsibling.cs
- PageAsyncTask.cs
- Menu.cs
- RightsManagementEncryptedStream.cs
- SystemParameters.cs