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
- Volatile.cs
- SolidColorBrush.cs
- TextPointer.cs
- IDReferencePropertyAttribute.cs
- EventlogProvider.cs
- HtmlInputFile.cs
- BaseUriHelper.cs
- AppDomainManager.cs
- shaperfactory.cs
- TextBoxRenderer.cs
- CannotUnloadAppDomainException.cs
- Fonts.cs
- GregorianCalendar.cs
- XmlAnyElementAttributes.cs
- BindingGroup.cs
- ClientRolePrincipal.cs
- ProbeDuplexCD1AsyncResult.cs
- TypeDelegator.cs
- SqlDataSourceQueryEditor.cs
- ByteConverter.cs
- DictionaryContent.cs
- Page.cs
- XsltArgumentList.cs
- DynamicDiscoSearcher.cs
- GridView.cs
- FileIOPermission.cs
- SqlDataSourceView.cs
- recordstatescratchpad.cs
- ReachSerializationUtils.cs
- Stack.cs
- Match.cs
- ACL.cs
- SafeEventLogReadHandle.cs
- ExceptionUtil.cs
- TraceListener.cs
- CharacterHit.cs
- ClassicBorderDecorator.cs
- TextWriter.cs
- ReachNamespaceInfo.cs
- SqlBulkCopyColumnMapping.cs
- AsymmetricSignatureFormatter.cs
- Serialization.cs
- LinkLabel.cs
- PropertyMapper.cs
- FlowDocumentPaginator.cs
- EmbeddedMailObjectsCollection.cs
- Int16AnimationUsingKeyFrames.cs
- EmptyCollection.cs
- SqlCharStream.cs
- DBBindings.cs
- DocumentSequenceHighlightLayer.cs
- HtmlForm.cs
- DictionarySurrogate.cs
- DrawingCollection.cs
- MissingMemberException.cs
- RegexFCD.cs
- X509SecurityTokenAuthenticator.cs
- WebPartUserCapability.cs
- NameValueCollection.cs
- URI.cs
- OracleEncoding.cs
- Mappings.cs
- ApplicationBuildProvider.cs
- DataGridHeaderBorder.cs
- LogPolicy.cs
- ScaleTransform3D.cs
- DataException.cs
- TriggerActionCollection.cs
- DbProviderFactoriesConfigurationHandler.cs
- StreamInfo.cs
- OracleRowUpdatingEventArgs.cs
- WebPartDescriptionCollection.cs
- XmlSchemaValidator.cs
- METAHEADER.cs
- BamlStream.cs
- RoutedEventArgs.cs
- UserValidatedEventArgs.cs
- ScriptingSectionGroup.cs
- JavaScriptSerializer.cs
- FormViewInsertedEventArgs.cs
- TextRangeEditLists.cs
- _Events.cs
- XmlSecureResolver.cs
- Cursor.cs
- GB18030Encoding.cs
- SafeHandles.cs
- SqlReorderer.cs
- IPAddressCollection.cs
- RangeValidator.cs
- DrawingContext.cs
- StreamWriter.cs
- DataGridViewCellCollection.cs
- CfgParser.cs
- DrawingVisualDrawingContext.cs
- ParseElement.cs
- StyleCollectionEditor.cs
- QueuePathEditor.cs
- PointF.cs
- StringOutput.cs
- XmlnsCache.cs