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
- Connector.cs
- ResXBuildProvider.cs
- SystemWebCachingSectionGroup.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- DataSourceView.cs
- SettingsPropertyWrongTypeException.cs
- BulletChrome.cs
- LineServices.cs
- SimpleExpression.cs
- Setter.cs
- MobileCategoryAttribute.cs
- UniqueEventHelper.cs
- EdmRelationshipRoleAttribute.cs
- TextDecoration.cs
- AttributeProviderAttribute.cs
- NavigateEvent.cs
- XmlIlVisitor.cs
- HealthMonitoringSectionHelper.cs
- ConfigXmlAttribute.cs
- SqlDataSourceSelectingEventArgs.cs
- DataGridDetailsPresenter.cs
- ProxyGenerator.cs
- WaveHeader.cs
- HashRepartitionStream.cs
- Queue.cs
- BaseParser.cs
- DataRow.cs
- WebServiceReceive.cs
- SubqueryTrackingVisitor.cs
- DesignTimeVisibleAttribute.cs
- UInt32Storage.cs
- ObjectDataSourceSelectingEventArgs.cs
- DropShadowBitmapEffect.cs
- Composition.cs
- FontUnitConverter.cs
- CodeObject.cs
- Message.cs
- Utils.cs
- ActiveXSite.cs
- ErrorFormatterPage.cs
- SelectingProviderEventArgs.cs
- DetailsViewInsertedEventArgs.cs
- SmtpDateTime.cs
- HttpHandler.cs
- AddInProcess.cs
- HttpRequestTraceRecord.cs
- LinqDataSourceContextEventArgs.cs
- ParameterModifier.cs
- WeakReadOnlyCollection.cs
- TextRunProperties.cs
- CqlLexerHelpers.cs
- ScaleTransform3D.cs
- ScrollBar.cs
- TreeNode.cs
- SplashScreen.cs
- WebResourceAttribute.cs
- ProgressBarHighlightConverter.cs
- EncryptedKey.cs
- SqlTypeSystemProvider.cs
- NavigationHelper.cs
- ScaleTransform.cs
- FileDataSourceCache.cs
- LabelEditEvent.cs
- AsyncCompletedEventArgs.cs
- BitmapVisualManager.cs
- FontStyle.cs
- ToolboxComponentsCreatingEventArgs.cs
- GlobalAllocSafeHandle.cs
- PrintDialogException.cs
- XamlBrushSerializer.cs
- RuleSettings.cs
- BindingExpressionUncommonField.cs
- WorkflowMarkupSerializationManager.cs
- SubclassTypeValidator.cs
- FlowDocumentReader.cs
- TextEffectCollection.cs
- FileDialog.cs
- ControlIdConverter.cs
- LocalClientSecuritySettings.cs
- GuidelineSet.cs
- FileRecordSequenceCompletedAsyncResult.cs
- MexTcpBindingCollectionElement.cs
- RequestUriProcessor.cs
- DataGridItem.cs
- EventsTab.cs
- TimelineGroup.cs
- ViewStateException.cs
- DataGridParentRows.cs
- XamlDesignerSerializationManager.cs
- SqlVersion.cs
- TableRowCollection.cs
- BitmapEffectrendercontext.cs
- UriParserTemplates.cs
- XmlAttributeAttribute.cs
- EntityTypeEmitter.cs
- BindMarkupExtensionSerializer.cs
- DialogWindow.cs
- UpdateProgress.cs
- FontWeight.cs
- DesignSurfaceManager.cs