Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / UIAutomation / UIAutomationTypes / MS / Internal / Automation / UiaCoreTypesApi.cs / 1 / UiaCoreTypesApi.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Imports from unmanaged UiaCore DLL // // History: // 06/02/2003 : BrendanM Ported to WCP // //--------------------------------------------------------------------------- using System; using System.Security; using System.Runtime.InteropServices; using Microsoft.Internal; namespace MS.Internal.Automation { internal static class UiaCoreTypesApi { //----------------------------------------------------- // // Other API types // //----------------------------------------------------- #region Other internal enum AutomationIdType { Property, Pattern, Event, ControlType, TextAttribute } internal const int UIA_E_ELEMENTNOTENABLED = unchecked((int)0x80040200); internal const int UIA_E_ELEMENTNOTAVAILABLE = unchecked((int)0x80040201); internal const int UIA_E_NOCLICKABLEPOINT = unchecked((int)0x80040202); internal const int UIA_E_PROXYASSEMBLYNOTLOADED = unchecked((int)0x80040203); #endregion Other //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- #region Internal Methods // // Support methods... // ////// Critical: This code calls into the unmanaged UIAutomationCore.dll /// TreatAsSafe: This method simply converts a Guid representing an automation type to an int, making it safe to use. /// [SecurityCritical,SecurityTreatAsSafe] internal static int UiaLookupId(AutomationIdType type, ref Guid guid) { return RawUiaLookupId( type, ref guid ); } ////// Critical: This code calls into the unmanaged UIAutomationCore.dll /// TreatAsSafe: This method only returns a fixed known object representing an Unsupported value, making it safe to use. /// [SecurityCritical,SecurityTreatAsSafe] internal static object UiaGetReservedNotSupportedValue() { object notSupportedValue; CheckError(RawUiaGetReservedNotSupportedValue(out notSupportedValue)); return notSupportedValue; } ////// Critical: This code calls into the unmanaged UIAutomationCore.dll /// TreatAsSafe: This method only returns a fixed known object representing a MixedAttribute value, making it safe to use. /// [SecurityCritical,SecurityTreatAsSafe] internal static object UiaGetReservedMixedAttributeValue() { object mixedAttributeValue; CheckError(RawUiaGetReservedMixedAttributeValue(out mixedAttributeValue)); return mixedAttributeValue; } #endregion Internal Methods //------------------------------------------------------ // // Private Methods // //------------------------------------------------------ #region Private Methods // Check hresult for error... private static void CheckError(int hr) { if (hr >= 0) { return; } Marshal.ThrowExceptionForHR(hr); } [SecurityCritical] [SuppressUnmanagedCodeSecurity] [DllImport(DllImport.UIAutomationCore, EntryPoint = "UiaLookupId", CharSet = CharSet.Unicode)] private static extern int RawUiaLookupId(AutomationIdType type, ref Guid guid); [SecurityCritical] [SuppressUnmanagedCodeSecurity] [DllImport(DllImport.UIAutomationCore, EntryPoint = "UiaGetReservedNotSupportedValue", CharSet = CharSet.Unicode)] private static extern int RawUiaGetReservedNotSupportedValue([MarshalAs(UnmanagedType.IUnknown)] out object notSupportedValue); [SecurityCritical] [SuppressUnmanagedCodeSecurity] [DllImport(DllImport.UIAutomationCore, EntryPoint = "UiaGetReservedMixedAttributeValue", CharSet = CharSet.Unicode)] private static extern int RawUiaGetReservedMixedAttributeValue([MarshalAs(UnmanagedType.IUnknown)] out object mixedAttributeValue); #endregion Private Methods } } // 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: Imports from unmanaged UiaCore DLL // // History: // 06/02/2003 : BrendanM Ported to WCP // //--------------------------------------------------------------------------- using System; using System.Security; using System.Runtime.InteropServices; using Microsoft.Internal; namespace MS.Internal.Automation { internal static class UiaCoreTypesApi { //----------------------------------------------------- // // Other API types // //----------------------------------------------------- #region Other internal enum AutomationIdType { Property, Pattern, Event, ControlType, TextAttribute } internal const int UIA_E_ELEMENTNOTENABLED = unchecked((int)0x80040200); internal const int UIA_E_ELEMENTNOTAVAILABLE = unchecked((int)0x80040201); internal const int UIA_E_NOCLICKABLEPOINT = unchecked((int)0x80040202); internal const int UIA_E_PROXYASSEMBLYNOTLOADED = unchecked((int)0x80040203); #endregion Other //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- #region Internal Methods // // Support methods... // ////// Critical: This code calls into the unmanaged UIAutomationCore.dll /// TreatAsSafe: This method simply converts a Guid representing an automation type to an int, making it safe to use. /// [SecurityCritical,SecurityTreatAsSafe] internal static int UiaLookupId(AutomationIdType type, ref Guid guid) { return RawUiaLookupId( type, ref guid ); } ////// Critical: This code calls into the unmanaged UIAutomationCore.dll /// TreatAsSafe: This method only returns a fixed known object representing an Unsupported value, making it safe to use. /// [SecurityCritical,SecurityTreatAsSafe] internal static object UiaGetReservedNotSupportedValue() { object notSupportedValue; CheckError(RawUiaGetReservedNotSupportedValue(out notSupportedValue)); return notSupportedValue; } ////// Critical: This code calls into the unmanaged UIAutomationCore.dll /// TreatAsSafe: This method only returns a fixed known object representing a MixedAttribute value, making it safe to use. /// [SecurityCritical,SecurityTreatAsSafe] internal static object UiaGetReservedMixedAttributeValue() { object mixedAttributeValue; CheckError(RawUiaGetReservedMixedAttributeValue(out mixedAttributeValue)); return mixedAttributeValue; } #endregion Internal Methods //------------------------------------------------------ // // Private Methods // //------------------------------------------------------ #region Private Methods // Check hresult for error... private static void CheckError(int hr) { if (hr >= 0) { return; } Marshal.ThrowExceptionForHR(hr); } [SecurityCritical] [SuppressUnmanagedCodeSecurity] [DllImport(DllImport.UIAutomationCore, EntryPoint = "UiaLookupId", CharSet = CharSet.Unicode)] private static extern int RawUiaLookupId(AutomationIdType type, ref Guid guid); [SecurityCritical] [SuppressUnmanagedCodeSecurity] [DllImport(DllImport.UIAutomationCore, EntryPoint = "UiaGetReservedNotSupportedValue", CharSet = CharSet.Unicode)] private static extern int RawUiaGetReservedNotSupportedValue([MarshalAs(UnmanagedType.IUnknown)] out object notSupportedValue); [SecurityCritical] [SuppressUnmanagedCodeSecurity] [DllImport(DllImport.UIAutomationCore, EntryPoint = "UiaGetReservedMixedAttributeValue", CharSet = CharSet.Unicode)] private static extern int RawUiaGetReservedMixedAttributeValue([MarshalAs(UnmanagedType.IUnknown)] out object mixedAttributeValue); #endregion Private Methods } } // 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
- MemberAccessException.cs
- ProtocolsSection.cs
- Button.cs
- Listbox.cs
- IdentityValidationException.cs
- XmlAggregates.cs
- EntityDataReader.cs
- UIElement3DAutomationPeer.cs
- EditorZoneBase.cs
- LayoutTableCell.cs
- ServiceModelExtensionElement.cs
- HashRepartitionStream.cs
- CharacterMetricsDictionary.cs
- WebContext.cs
- XamlStackWriter.cs
- FieldMetadata.cs
- RenderData.cs
- SoapDocumentServiceAttribute.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- SocketException.cs
- Int32CAMarshaler.cs
- FilterInvalidBodyAccessException.cs
- util.cs
- LineSegment.cs
- XmlAttributeProperties.cs
- DecimalAnimationUsingKeyFrames.cs
- ModelTypeConverter.cs
- TraceUtility.cs
- Line.cs
- SiteMap.cs
- NullableFloatAverageAggregationOperator.cs
- FieldToken.cs
- HtmlUtf8RawTextWriter.cs
- DocumentPageView.cs
- listviewsubitemcollectioneditor.cs
- XamlPathDataSerializer.cs
- CalendarDataBindingHandler.cs
- GridViewColumnHeader.cs
- BitmapEffectrendercontext.cs
- VirtualizingStackPanel.cs
- ReflectionUtil.cs
- FixedPage.cs
- DisableDpiAwarenessAttribute.cs
- XmlWellformedWriterHelpers.cs
- WindowInteractionStateTracker.cs
- ObjectDataSource.cs
- TextTreePropertyUndoUnit.cs
- ChtmlTextWriter.cs
- StreamWithDictionary.cs
- HitTestDrawingContextWalker.cs
- XmlSchemaAnnotation.cs
- newinstructionaction.cs
- Visual3D.cs
- AtomMaterializerLog.cs
- ContentValidator.cs
- RoutedEventArgs.cs
- Int16Animation.cs
- SignatureDescription.cs
- IdentityManager.cs
- CopyCodeAction.cs
- Latin1Encoding.cs
- RunWorkerCompletedEventArgs.cs
- MasterPageBuildProvider.cs
- IPAddressCollection.cs
- AppSettingsReader.cs
- Int32CollectionValueSerializer.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- TableLayoutPanel.cs
- SqlError.cs
- ReadWriteSpinLock.cs
- SerialReceived.cs
- LiteralLink.cs
- SqlVisitor.cs
- PointHitTestParameters.cs
- HMAC.cs
- ObjectKeyFrameCollection.cs
- BrowserCapabilitiesCompiler.cs
- XamlPathDataSerializer.cs
- IncrementalHitTester.cs
- BoundPropertyEntry.cs
- PlainXmlWriter.cs
- ToolStripGripRenderEventArgs.cs
- PagedDataSource.cs
- XmlCodeExporter.cs
- EnumBuilder.cs
- EncoderFallback.cs
- KnownBoxes.cs
- CompilerLocalReference.cs
- JournalNavigationScope.cs
- RefType.cs
- ConditionalAttribute.cs
- X509ScopedServiceCertificateElementCollection.cs
- XmlImplementation.cs
- ZipFileInfoCollection.cs
- URLEditor.cs
- AttachedPropertyBrowsableAttribute.cs
- CrossAppDomainChannel.cs
- RepeatInfo.cs
- NavigationExpr.cs
- EntityDataSourceViewSchema.cs