Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / AccessibleTech / longhorn / Automation / 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 : [....] 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
- ArrayWithOffset.cs
- TimeoutException.cs
- ListDataHelper.cs
- WindowsClaimSet.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- TransportConfigurationTypeElement.cs
- ManagedCodeMarkers.cs
- HttpCacheVaryByContentEncodings.cs
- MimeReflector.cs
- HttpStaticObjectsCollectionWrapper.cs
- SafeRegistryHandle.cs
- TimeZoneInfo.cs
- XmlBindingWorker.cs
- RequestDescription.cs
- MetadataItem.cs
- util.cs
- ToolBarButtonClickEvent.cs
- TypeDependencyAttribute.cs
- TableLayoutSettingsTypeConverter.cs
- ProtectedConfigurationProviderCollection.cs
- ArrayWithOffset.cs
- GC.cs
- SspiSafeHandles.cs
- ISAPIWorkerRequest.cs
- DirectoryObjectSecurity.cs
- SvcMapFileLoader.cs
- CodeTryCatchFinallyStatement.cs
- RenderData.cs
- Connector.cs
- ExpressionConverter.cs
- Geometry.cs
- GlobalizationSection.cs
- PostBackTrigger.cs
- RemoveStoryboard.cs
- IdentityHolder.cs
- CallContext.cs
- XNodeNavigator.cs
- _OverlappedAsyncResult.cs
- AlternateViewCollection.cs
- ShaderEffect.cs
- Assert.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- SoapAttributeAttribute.cs
- LoginName.cs
- AnnotationHelper.cs
- SkinBuilder.cs
- ResolveMatches11.cs
- MutexSecurity.cs
- DependentList.cs
- StorageEntityTypeMapping.cs
- PackageDigitalSignature.cs
- AppSettingsExpressionBuilder.cs
- XMLUtil.cs
- DataMemberFieldEditor.cs
- InvokeFunc.cs
- XamlInt32CollectionSerializer.cs
- MonitorWrapper.cs
- CommittableTransaction.cs
- IResourceProvider.cs
- SQLByte.cs
- CompModSwitches.cs
- EventLogPermissionEntryCollection.cs
- EnterpriseServicesHelper.cs
- StandardCommandToolStripMenuItem.cs
- COM2Properties.cs
- XmlSchemaExternal.cs
- CacheMode.cs
- DbCommandDefinition.cs
- SerializationSectionGroup.cs
- Normalization.cs
- BaseConfigurationRecord.cs
- EdmComplexTypeAttribute.cs
- XmlTextWriter.cs
- HashSet.cs
- _emptywebproxy.cs
- CaseStatement.cs
- HandlerBase.cs
- StylusPointPropertyInfo.cs
- XmlAttributeCache.cs
- RootNamespaceAttribute.cs
- StylusDownEventArgs.cs
- XmlDictionary.cs
- WeakReferenceList.cs
- MenuBindingsEditor.cs
- InvokeBase.cs
- CollectionViewProxy.cs
- XmlBinaryReaderSession.cs
- DecimalKeyFrameCollection.cs
- PointAnimationUsingPath.cs
- unsafenativemethodstextservices.cs
- MessageDescription.cs
- SR.Designer.cs
- TextMarkerSource.cs
- PropertyValueUIItem.cs
- DataTableNewRowEvent.cs
- XmlTypeAttribute.cs
- RegexCaptureCollection.cs
- Expression.cs
- KeyboardDevice.cs
- VirtualPathProvider.cs