Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- EdmToObjectNamespaceMap.cs
- MetadataSerializer.cs
- PackageStore.cs
- Object.cs
- TextTreeInsertUndoUnit.cs
- ExtractedStateEntry.cs
- AdornerHitTestResult.cs
- DetailsViewDesigner.cs
- ThreadExceptionDialog.cs
- DataGridViewElement.cs
- DelimitedListTraceListener.cs
- ContextMenu.cs
- MonitorWrapper.cs
- TaskHelper.cs
- SoapFault.cs
- QilInvokeEarlyBound.cs
- RecoverInstanceLocksCommand.cs
- NumericUpDownAcceleration.cs
- HttpBindingExtension.cs
- ConfigurationSectionCollection.cs
- SqlClientMetaDataCollectionNames.cs
- CellNormalizer.cs
- safemediahandle.cs
- GlobalEventManager.cs
- ServiceSecurityAuditBehavior.cs
- PeerFlooder.cs
- GridEntry.cs
- CompensationTokenData.cs
- GridViewDeletedEventArgs.cs
- TCEAdapterGenerator.cs
- ToolboxComponentsCreatingEventArgs.cs
- BufferedReadStream.cs
- ReverseInheritProperty.cs
- SubqueryRules.cs
- AnimationClockResource.cs
- ControlParameter.cs
- WebPartActionVerb.cs
- XmlNodeChangedEventManager.cs
- ToolBarTray.cs
- DataColumnChangeEvent.cs
- ExpressionVisitorHelpers.cs
- BufferModeSettings.cs
- GlobalizationAssembly.cs
- DesigntimeLicenseContextSerializer.cs
- XmlILOptimizerVisitor.cs
- TemplateBindingExtensionConverter.cs
- WindowsIPAddress.cs
- WebMessageEncodingBindingElement.cs
- MissingManifestResourceException.cs
- DropShadowEffect.cs
- CultureTable.cs
- BatchWriter.cs
- TypeUnloadedException.cs
- AnimationClockResource.cs
- TextEndOfParagraph.cs
- ExpressionVisitorHelpers.cs
- SoapInteropTypes.cs
- XhtmlConformanceSection.cs
- DataBindEngine.cs
- TextRunCache.cs
- BitmapEditor.cs
- StrokeNodeData.cs
- Clipboard.cs
- PolyBezierSegment.cs
- FontFamilyValueSerializer.cs
- SqlNodeAnnotation.cs
- xdrvalidator.cs
- CounterCreationData.cs
- SettingsPropertyWrongTypeException.cs
- AuthenticationModuleElement.cs
- ExpressionVisitor.cs
- SecurityProtocolFactory.cs
- MimeTypeAttribute.cs
- ListBox.cs
- TextTreeText.cs
- CounterCreationData.cs
- ExpressionDumper.cs
- WeakReference.cs
- Menu.cs
- HashCodeCombiner.cs
- PageCatalogPart.cs
- MessageBox.cs
- Control.cs
- SafeRightsManagementHandle.cs
- WindowsFormsSectionHandler.cs
- Util.cs
- DataGridView.cs
- ThicknessAnimation.cs
- InputProcessorProfilesLoader.cs
- TypeTypeConverter.cs
- DateTimeConverter.cs
- querybuilder.cs
- SqlGatherConsumedAliases.cs
- ResourceExpression.cs
- GridViewSelectEventArgs.cs
- WizardPanelChangingEventArgs.cs
- FakeModelItemImpl.cs
- TypeLibConverter.cs
- SiteMapNode.cs
- BaseTemplateParser.cs