Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / ClientSideProviderDescription.cs / 1305600 / ClientSideProviderDescription.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Structure containing information about a proxy
//
// History:
// 06/05/2003 : BrendanM Ported to WCP
//
//---------------------------------------------------------------------------
// PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas.
#pragma warning disable 1634, 1691
using System;
using System.Windows.Automation.Provider;
using MS.Internal.Automation;
namespace System.Windows.Automation
{
///
/// Enum used to indicate results of requesting a property
///
[Flags]
#if (INTERNAL_COMPILE)
internal enum ClientSideProviderMatchIndicator
#else
public enum ClientSideProviderMatchIndicator
#endif
{
///
/// Default settings will be used for this proxy: classname will be matched
/// using full string comparison, and a match against the underlying class name
/// (for superclassed USER32 and Common Controls) will be allowed.
///
None = 0x00,
///
/// Use substring comparison for comparing classnames
///
AllowSubstringMatch = 0x01,
///
/// The real class name or base class will not be checked
///
DisallowBaseClassNameMatch = 0x02,
}
///
/// Implemented by HWND handlers, called by UIAutomation framework to request a proxy for specified window and item.
/// Should return a proxy if supported, or null if not supported.
///
#if (INTERNAL_COMPILE)
internal delegate IRawElementProviderSimple ClientSideProviderFactoryCallback( IntPtr hwnd, int idChild, int idObject );
#else
public delegate IRawElementProviderSimple ClientSideProviderFactoryCallback(IntPtr hwnd, int idChild, int idObject);
#endif
///
/// Structure containing information about a proxy
///
#if (INTERNAL_COMPILE)
internal struct ClientSideProviderDescription
#else
public struct ClientSideProviderDescription
#endif
{
private string _className;
private string _imageName;
private ClientSideProviderMatchIndicator _flags;
private ClientSideProviderFactoryCallback _proxyFactoryCallback;
///
/// Constructor
///
/// Window classname that the proxy is for. If null is used, the proxy will be called for all
/// windows if no other proxy has been found for that window.
/// Delegate that PAW will call to request the creation of a proxy
public ClientSideProviderDescription(ClientSideProviderFactoryCallback clientSideProviderFactoryCallback, string className)
{
// Null and Empty string mean different things here.
#pragma warning suppress 6507
if (className != null)
_className = className.ToLower( System.Globalization.CultureInfo.InvariantCulture );
else
_className = null;
_flags = 0;
_imageName = null;
_proxyFactoryCallback = clientSideProviderFactoryCallback;
}
///
/// Constructor
///
/// Window classname that the proxy is for. If null is used, the proxy will be called for all
/// windows if no other proxy has been found for that window.
/// Delegate that PAW will call to request the creation of a proxy
/// Enum ProxyMatchFlags
/// otherwise the parameter classname can be contained in the window class name
/// Name of the executable for the process where this window resides. For example outllib.dll or calc.exe
public ClientSideProviderDescription(ClientSideProviderFactoryCallback clientSideProviderFactoryCallback, string className, string imageName, ClientSideProviderMatchIndicator flags)
{
// Null and Empty string mean different things here
#pragma warning suppress 6507
if (className != null)
_className = className.ToLower( System.Globalization.CultureInfo.InvariantCulture );
else
_className = null;
_flags = flags;
// Null and Empty string mean different things here
#pragma warning suppress 6507
if (imageName != null)
_imageName = imageName.ToLower( System.Globalization.CultureInfo.InvariantCulture );
else
_imageName = null;
_proxyFactoryCallback = clientSideProviderFactoryCallback;
}
///
/// Window classname that the proxy is for.
///
public string ClassName
{
get
{
return _className;
}
}
///
/// Returns the ClientSideProviderMatchIndicator flags that specify options for how
/// this description should be used.
///
public ClientSideProviderMatchIndicator Flags
{
get
{
return _flags;
}
}
///
/// Name of the executable for the process where this window resides. For example Winword.exe.
///
public string ImageName
{
get
{
return _imageName;
}
}
///
/// Delegate that UIAutomation will call to request the creation of a proxy
///
public ClientSideProviderFactoryCallback ClientSideProviderFactoryCallback
{
get
{
return _proxyFactoryCallback;
}
}
}
}
// 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
- PointLight.cs
- Point.cs
- TableCell.cs
- AsyncPostBackTrigger.cs
- _WebProxyDataBuilder.cs
- ControlAdapter.cs
- SegmentInfo.cs
- ValidationSummary.cs
- CharacterString.cs
- Triplet.cs
- UserControlAutomationPeer.cs
- PropertyTabChangedEvent.cs
- ConsoleKeyInfo.cs
- LinkDesigner.cs
- InvalidWorkflowException.cs
- CompositeDataBoundControl.cs
- Parameter.cs
- CheckBoxRenderer.cs
- CodeGenerator.cs
- validationstate.cs
- TextElement.cs
- WSDualHttpBindingCollectionElement.cs
- ClusterSafeNativeMethods.cs
- CriticalFinalizerObject.cs
- MSG.cs
- WindowsListViewItemStartMenu.cs
- IgnoreSectionHandler.cs
- SecurityKeyType.cs
- SQLDateTime.cs
- TypeConverterHelper.cs
- HuffModule.cs
- HeaderedItemsControl.cs
- DomNameTable.cs
- SortAction.cs
- GridItem.cs
- parserscommon.cs
- OdbcDataReader.cs
- ExtenderProviderService.cs
- DataSourceControl.cs
- ResolveNameEventArgs.cs
- WebPartConnection.cs
- SqlDataSourceStatusEventArgs.cs
- EventProviderWriter.cs
- ValueQuery.cs
- MetadataArtifactLoaderCompositeResource.cs
- UIElementParaClient.cs
- HttpListenerException.cs
- MessageEnumerator.cs
- FontUnit.cs
- VolatileResourceManager.cs
- MatrixValueSerializer.cs
- DecimalStorage.cs
- IgnoreFlushAndCloseStream.cs
- DesignerSerializationOptionsAttribute.cs
- DateTimeOffsetStorage.cs
- SystemInfo.cs
- QueryStack.cs
- Span.cs
- FastEncoderWindow.cs
- ViewGenResults.cs
- ClusterSafeNativeMethods.cs
- Nodes.cs
- CompilerParameters.cs
- EventEntry.cs
- FontWeightConverter.cs
- DbConnectionPoolCounters.cs
- ApplicationException.cs
- MaskedTextProvider.cs
- Context.cs
- ThreadTrace.cs
- BitmapInitialize.cs
- ReferenceTypeElement.cs
- _NestedSingleAsyncResult.cs
- RichTextBox.cs
- Facet.cs
- Rectangle.cs
- WebPartsPersonalization.cs
- SchemaInfo.cs
- _emptywebproxy.cs
- CommonProperties.cs
- ProcessHostConfigUtils.cs
- PtsCache.cs
- CacheChildrenQuery.cs
- HwndAppCommandInputProvider.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- Overlapped.cs
- Utils.cs
- UndoManager.cs
- ComponentSerializationService.cs
- TablePattern.cs
- CheckBox.cs
- XdrBuilder.cs
- AuthStoreRoleProvider.cs
- NamespaceCollection.cs
- DocumentAutomationPeer.cs
- ADMembershipProvider.cs
- HierarchicalDataSourceControl.cs
- Operator.cs
- XmlSchemaAttributeGroupRef.cs
- BrowserDefinitionCollection.cs