Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / UIAutomation / UIAutomationClient / MS / Internal / Automation / SafeHandles.cs / 1 / SafeHandles.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Various SafeHandles used by UIA // //--------------------------------------------------------------------------- using System; using System.Runtime.InteropServices; using System.Windows.Automation; using System.Windows.Automation.Provider; // PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 namespace MS.Internal.Automation { internal sealed class SafeNodeHandle : SafeHandle { // Called by P/Invoke when returning SafeHandles // (Also used by UiaCoreApi to create invalid handles.) internal SafeNodeHandle() : base(IntPtr.Zero, true) { } // No need to provide a finalizer - SafeHandle's critical finalizer will // call ReleaseHandle for you. public override bool IsInvalid { get { return handle == IntPtr.Zero; } } override protected bool ReleaseHandle() { return UiaCoreApi.UiaNodeRelease(handle); } } // Internal Class that wraps the IntPtr to the Pattern internal sealed class SafePatternHandle : SafeHandle { // Called by P/Invoke when returning SafeHandles // (Also used by UiaCoreApi to create invalid handles.) internal SafePatternHandle() : base(IntPtr.Zero, true) { } // No need to provide a finalizer - SafeHandle's critical finalizer will // call ReleaseHandle for you. public override bool IsInvalid { get { return handle == IntPtr.Zero; } } override protected bool ReleaseHandle() { return UiaCoreApi.UiaPatternRelease(handle); } } // Internal Class that wraps the IntPtr to the Event internal sealed class SafeEventHandle : SafeHandle { internal SafeEventHandle() : base(IntPtr.Zero, true) { } public override bool IsInvalid { get { return handle == IntPtr.Zero; } } override protected bool ReleaseHandle() { UiaCoreApi.UiaRemoveEvent(handle); return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Various SafeHandles used by UIA // //--------------------------------------------------------------------------- using System; using System.Runtime.InteropServices; using System.Windows.Automation; using System.Windows.Automation.Provider; // PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 namespace MS.Internal.Automation { internal sealed class SafeNodeHandle : SafeHandle { // Called by P/Invoke when returning SafeHandles // (Also used by UiaCoreApi to create invalid handles.) internal SafeNodeHandle() : base(IntPtr.Zero, true) { } // No need to provide a finalizer - SafeHandle's critical finalizer will // call ReleaseHandle for you. public override bool IsInvalid { get { return handle == IntPtr.Zero; } } override protected bool ReleaseHandle() { return UiaCoreApi.UiaNodeRelease(handle); } } // Internal Class that wraps the IntPtr to the Pattern internal sealed class SafePatternHandle : SafeHandle { // Called by P/Invoke when returning SafeHandles // (Also used by UiaCoreApi to create invalid handles.) internal SafePatternHandle() : base(IntPtr.Zero, true) { } // No need to provide a finalizer - SafeHandle's critical finalizer will // call ReleaseHandle for you. public override bool IsInvalid { get { return handle == IntPtr.Zero; } } override protected bool ReleaseHandle() { return UiaCoreApi.UiaPatternRelease(handle); } } // Internal Class that wraps the IntPtr to the Event internal sealed class SafeEventHandle : SafeHandle { internal SafeEventHandle() : base(IntPtr.Zero, true) { } public override bool IsInvalid { get { return handle == IntPtr.Zero; } } override protected bool ReleaseHandle() { UiaCoreApi.UiaRemoveEvent(handle); return true; } } } // 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
- StdRegProviderWrapper.cs
- IndicFontClient.cs
- _UriSyntax.cs
- FileLevelControlBuilderAttribute.cs
- DateTimePicker.cs
- RelatedCurrencyManager.cs
- RemotingAttributes.cs
- UserNamePasswordValidator.cs
- PropertyToken.cs
- HorizontalAlignConverter.cs
- DataGridViewCheckBoxCell.cs
- TextEditor.cs
- ManagementObjectSearcher.cs
- CodeSnippetExpression.cs
- XPathDocumentNavigator.cs
- MergeExecutor.cs
- Line.cs
- WhitespaceRuleLookup.cs
- SafeCryptContextHandle.cs
- Connector.cs
- OdbcConnectionFactory.cs
- TableItemPattern.cs
- HtmlWindow.cs
- MouseActionValueSerializer.cs
- XmlException.cs
- LoginCancelEventArgs.cs
- TypeSource.cs
- ReadWriteObjectLock.cs
- MobileControlsSectionHelper.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- PropertyGridView.cs
- UIPermission.cs
- AstNode.cs
- RepeaterItemCollection.cs
- CodeCatchClauseCollection.cs
- QilStrConcat.cs
- FixedDocumentPaginator.cs
- Set.cs
- WindowsToolbarItemAsMenuItem.cs
- FontSource.cs
- JapaneseCalendar.cs
- LostFocusEventManager.cs
- Parameter.cs
- SimpleMailWebEventProvider.cs
- PageAsyncTask.cs
- RepeaterItem.cs
- ContentOperations.cs
- LinkLabel.cs
- XmlDeclaration.cs
- OleDbRowUpdatedEvent.cs
- ColumnResizeAdorner.cs
- SByteStorage.cs
- MouseGestureConverter.cs
- WebPartUserCapability.cs
- RawStylusSystemGestureInputReport.cs
- UserPreferenceChangingEventArgs.cs
- PixelShader.cs
- ConstraintConverter.cs
- TextBoxAutoCompleteSourceConverter.cs
- XDRSchema.cs
- SqlConnectionPoolProviderInfo.cs
- SoapMessage.cs
- VerticalAlignConverter.cs
- XmlMessageFormatter.cs
- ToolStripItemEventArgs.cs
- WebBaseEventKeyComparer.cs
- DbProviderFactories.cs
- MissingMethodException.cs
- ReadOnlyHierarchicalDataSource.cs
- EntityDataSourceChangingEventArgs.cs
- SerialPinChanges.cs
- ProcessDesigner.cs
- EventLogPermission.cs
- XmlSchemaComplexType.cs
- CryptoApi.cs
- ScalarOps.cs
- HotSpot.cs
- ConfigUtil.cs
- DataControlFieldsEditor.cs
- ZipPackagePart.cs
- SqlColumnizer.cs
- Form.cs
- log.cs
- StringUtil.cs
- CommonDialog.cs
- OutputScopeManager.cs
- PropertyEmitter.cs
- VirtualDirectoryMappingCollection.cs
- BackoffTimeoutHelper.cs
- TileBrush.cs
- QueryableDataSourceHelper.cs
- ArraySubsetEnumerator.cs
- Vector3DAnimationBase.cs
- ViewRendering.cs
- StoreContentChangedEventArgs.cs
- LoginUtil.cs
- securitycriticaldataformultiplegetandset.cs
- Pair.cs
- QilReplaceVisitor.cs
- Nodes.cs