Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / SafeJobHandle.cs / 1 / SafeJobHandle.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // // Presharp uses the c# pragma mechanism to supress its warnings. // These are not recognised by the base compiler so we need to explictly // disable the following warnings. See http://winweb/cse/Tools/PREsharp/userguide/default.asp // for details. // #pragma warning disable 1634, 1691 // unknown message, unknown pragma namespace Microsoft.InfoCards { using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using Microsoft.Win32.SafeHandles; // // Summary: // This is a wrapper for Win32 Job handles that ensures that they get closed and that the handle // held by this object isn't recycled. // internal sealed class SafeJobHandle : SafeHandle { [DllImport("Kernel32.dll", EntryPoint ="TerminateJobObject", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true ) ] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SuppressUnmanagedCodeSecurity] private static extern bool TerminateJobObject( [In] IntPtr hJob, [In] UInt32 uExitCode ); public SafeJobHandle() : base( IntPtr.Zero, true ) { } public override bool IsInvalid { get { return ( IntPtr.Zero == base.handle ); } } [ReliabilityContract( Consistency.WillNotCorruptState, Cer.Success ) ] public void UpdateHandle( IntPtr handle ) { base.SetHandle( handle ); } override protected bool ReleaseHandle() { // // Presharp: failure of TerminateJobObject is part of the desired behavior of this function, // hence we have no need for calling GetLastW32Error. // #pragma warning suppress 56523 TerminateJobObject( handle, 0 ); // // Presharp: once again, this function's design is to return the result of success or failure from // these native calls. // #pragma warning suppress 56523 return NativeMethods.SafeHandleOnlyMethods.CloseHandle( handle ); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BamlRecords.cs
- TableColumn.cs
- brushes.cs
- AspNetSynchronizationContext.cs
- SortKey.cs
- WebPartsSection.cs
- TraceHandler.cs
- GeneralTransform3DTo2DTo3D.cs
- DecimalKeyFrameCollection.cs
- ClassicBorderDecorator.cs
- FullTextLine.cs
- BindingWorker.cs
- Trace.cs
- PreservationFileWriter.cs
- MarshalByRefObject.cs
- GenerateScriptTypeAttribute.cs
- OdbcErrorCollection.cs
- EntityType.cs
- ServiceOperationHelpers.cs
- ContainerVisual.cs
- DBSchemaTable.cs
- figurelength.cs
- Stacktrace.cs
- TdsParserSessionPool.cs
- CreateUserWizard.cs
- Misc.cs
- ChooseAction.cs
- SqlDataRecord.cs
- DataGridViewCellStyle.cs
- PartBasedPackageProperties.cs
- ForeignKeyFactory.cs
- ParameterBuilder.cs
- XPathBinder.cs
- FontNamesConverter.cs
- BulletChrome.cs
- LoginView.cs
- Application.cs
- _NtlmClient.cs
- PeerNameRecordCollection.cs
- ProfileWorkflowElement.cs
- IconBitmapDecoder.cs
- InternalException.cs
- DesignerAutoFormatStyle.cs
- ColumnTypeConverter.cs
- DataSourceHelper.cs
- sqlnorm.cs
- BrushMappingModeValidation.cs
- ActivityXRefConverter.cs
- ExtendedProtectionPolicyTypeConverter.cs
- Action.cs
- EventLogger.cs
- ZipIOExtraFieldElement.cs
- InheritedPropertyChangedEventArgs.cs
- ObjectStateFormatter.cs
- UDPClient.cs
- TransactionInformation.cs
- PropertyMapper.cs
- CodeMemberEvent.cs
- ChangeProcessor.cs
- TreeView.cs
- ImageDrawing.cs
- ReadWriteObjectLock.cs
- WindowShowOrOpenTracker.cs
- ProxyFragment.cs
- WindowsHyperlink.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- FixedHyperLink.cs
- OneOfTypeConst.cs
- PageThemeCodeDomTreeGenerator.cs
- HMACSHA1.cs
- SQLConvert.cs
- InputProviderSite.cs
- SourceFilter.cs
- ButtonColumn.cs
- DataGridBeginningEditEventArgs.cs
- WindowsGraphicsWrapper.cs
- cookie.cs
- DynamicRendererThreadManager.cs
- CursorConverter.cs
- FlowDocumentView.cs
- SuppressIldasmAttribute.cs
- FixedHighlight.cs
- MobileControl.cs
- UiaCoreApi.cs
- BitmapCodecInfoInternal.cs
- BindingContext.cs
- CultureTableRecord.cs
- CharUnicodeInfo.cs
- StorageEndPropertyMapping.cs
- PenLineCapValidation.cs
- ExtensionSimplifierMarkupObject.cs
- ListView.cs
- GeneratedContractType.cs
- COM2IProvidePropertyBuilderHandler.cs
- AvtEvent.cs
- TryExpression.cs
- SafeSecurityHandles.cs
- Options.cs
- CategoryNameCollection.cs
- FormClosingEvent.cs