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
- CmsInterop.cs
- Blend.cs
- Msec.cs
- OutputCacheProfile.cs
- PropertyPanel.cs
- AlgoModule.cs
- Pts.cs
- SmiContextFactory.cs
- ToolboxItemFilterAttribute.cs
- XmlBinaryReaderSession.cs
- XmlValidatingReaderImpl.cs
- SystemUnicastIPAddressInformation.cs
- Component.cs
- StaticExtensionConverter.cs
- UInt16Storage.cs
- Select.cs
- BinaryCommonClasses.cs
- GPStream.cs
- XPathNode.cs
- BindingOperations.cs
- HttpSocketManager.cs
- SortDescription.cs
- ParseNumbers.cs
- CannotUnloadAppDomainException.cs
- DataSetMappper.cs
- SQLBoolean.cs
- ComboBoxItem.cs
- RichTextBox.cs
- KnownBoxes.cs
- LambdaExpression.cs
- Transform.cs
- IgnoreDeviceFilterElementCollection.cs
- TextMarkerSource.cs
- SamlAuthorizationDecisionClaimResource.cs
- PipeSecurity.cs
- Contracts.cs
- XPathAncestorQuery.cs
- MouseOverProperty.cs
- StaticResourceExtension.cs
- SortAction.cs
- Storyboard.cs
- WebAdminConfigurationHelper.cs
- _LoggingObject.cs
- FormViewInsertedEventArgs.cs
- ErrorTableItemStyle.cs
- MessageSmuggler.cs
- peersecurityelement.cs
- SqlBooleanizer.cs
- ClientProxyGenerator.cs
- regiisutil.cs
- ReliabilityContractAttribute.cs
- Storyboard.cs
- CharacterMetrics.cs
- SafeFileHandle.cs
- SessionState.cs
- DataContractJsonSerializer.cs
- DebugView.cs
- BatchServiceHost.cs
- GridViewCellAutomationPeer.cs
- XmlAttributeCollection.cs
- XmlSchemaAll.cs
- UnicodeEncoding.cs
- CompareInfo.cs
- SelectedDatesCollection.cs
- EncodingInfo.cs
- DbException.cs
- ClientSettingsProvider.cs
- TextureBrush.cs
- ContentDefinition.cs
- TextServicesCompartment.cs
- Inflater.cs
- ProtectedConfiguration.cs
- StreamBodyWriter.cs
- MembershipSection.cs
- Emitter.cs
- TransformerConfigurationWizardBase.cs
- ContentOperations.cs
- DataBoundControl.cs
- EnumerableWrapperWeakToStrong.cs
- SqlClientMetaDataCollectionNames.cs
- TargetParameterCountException.cs
- Serializer.cs
- HttpRuntime.cs
- LabelExpression.cs
- KnownIds.cs
- PlaceHolder.cs
- Track.cs
- CacheDependency.cs
- EventLogPropertySelector.cs
- XmlSchemaInfo.cs
- Inline.cs
- SelectedGridItemChangedEvent.cs
- _NegoStream.cs
- MethodRental.cs
- InfocardExtendedInformationCollection.cs
- IteratorFilter.cs
- Win32SafeHandles.cs
- WebCodeGenerator.cs
- QueryRewriter.cs
- PerfCounters.cs