Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / UIAutomationClient / MS / Internal / Automation / SafeHandles.cs / 1305600 / 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
- DataGridViewTopRowAccessibleObject.cs
- RequiredFieldValidator.cs
- HttpDebugHandler.cs
- UpdateCommand.cs
- FormatConvertedBitmap.cs
- DbConnectionHelper.cs
- ResourceReferenceExpressionConverter.cs
- LayoutExceptionEventArgs.cs
- ProcessManager.cs
- RepeaterItemCollection.cs
- EncoderParameters.cs
- DrawListViewSubItemEventArgs.cs
- SQLBinary.cs
- EventMappingSettingsCollection.cs
- CurrentChangedEventManager.cs
- HtmlTableCell.cs
- MbpInfo.cs
- Listbox.cs
- XmlUtil.cs
- FigureParagraph.cs
- Setter.cs
- SslStreamSecurityUpgradeProvider.cs
- _Rfc2616CacheValidators.cs
- CodeGroup.cs
- CompilerTypeWithParams.cs
- FixedTextView.cs
- WebPartTransformerAttribute.cs
- RouteItem.cs
- WindowsScrollBarBits.cs
- CreateUserErrorEventArgs.cs
- ParameterCollection.cs
- ClipboardProcessor.cs
- CommandValueSerializer.cs
- SpeechDetectedEventArgs.cs
- _IPv6Address.cs
- StringUtil.cs
- BitmapEffectGroup.cs
- ComboBoxAutomationPeer.cs
- _OverlappedAsyncResult.cs
- PolicyDesigner.cs
- InvokeHandlers.cs
- ColumnCollection.cs
- RegexMatchCollection.cs
- ToolStripProgressBar.cs
- PersonalizationDictionary.cs
- ImageField.cs
- UInt16.cs
- OpCodes.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- GeneralTransform.cs
- ToolStripItemClickedEventArgs.cs
- IteratorAsyncResult.cs
- ToolboxBitmapAttribute.cs
- ValidationHelper.cs
- FunctionDetailsReader.cs
- DataGridColumnsPage.cs
- WeakReadOnlyCollection.cs
- KeySpline.cs
- ReferencedAssembly.cs
- SqlCacheDependency.cs
- DataBoundControlDesigner.cs
- PnrpPeerResolverBindingElement.cs
- XmlSchemaChoice.cs
- TabItemWrapperAutomationPeer.cs
- JsonReaderWriterFactory.cs
- ToolboxDataAttribute.cs
- DoubleAnimationUsingPath.cs
- OracleInternalConnection.cs
- AvtEvent.cs
- UidManager.cs
- AnonymousIdentificationSection.cs
- HGlobalSafeHandle.cs
- WebPartConnectVerb.cs
- TextEvent.cs
- AspNetSynchronizationContext.cs
- ApplicationManager.cs
- MenuCommands.cs
- ProcessHostMapPath.cs
- ColorConverter.cs
- printdlgexmarshaler.cs
- PersonalizationStateInfoCollection.cs
- DriveInfo.cs
- DataRowView.cs
- TextContainerHelper.cs
- DocumentPaginator.cs
- DesignerRegionMouseEventArgs.cs
- ControlBindingsCollection.cs
- CompressStream.cs
- ComponentResourceManager.cs
- ListDictionaryInternal.cs
- HttpProtocolReflector.cs
- BaseTreeIterator.cs
- DbConnectionPoolGroupProviderInfo.cs
- ToolStripLabel.cs
- QueryOperatorEnumerator.cs
- AnnotationResourceChangedEventArgs.cs
- InvokeGenerator.cs
- NegotiateStream.cs
- ToolStripHighContrastRenderer.cs
- FlowDocumentPageViewerAutomationPeer.cs