Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / HwndHostAutomationPeer.cs / 1305600 / HwndHostAutomationPeer.cs
using System.Collections.Generic;
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using System.Windows.Interop;
using System.Security;
using System.Security.Permissions;
using MS.Internal.Automation;
namespace System.Windows.Automation.Peers
{
///
internal class HwndHostAutomationPeer : FrameworkElementAutomationPeer
{
///
public HwndHostAutomationPeer(HwndHost owner): base(owner)
{
IsInteropPeer = true;
}
///
override protected string GetClassNameCore()
{
return "HwndHost";
}
///
override protected AutomationControlType GetAutomationControlTypeCore()
{
return AutomationControlType.Pane;
}
///
/// Critical - Calls critical HwndHost.CriticalHandle.
/// TreatAsSafe - Critical data is used internally and not explosed
///
[SecurityCritical, SecurityTreatAsSafe]
override internal InteropAutomationProvider GetInteropChild()
{
if (_interopProvider == null)
{
HostedWindowWrapper wrapper = null;
HwndHost host = (HwndHost)Owner;
IntPtr hwnd = host.CriticalHandle;
if(hwnd != IntPtr.Zero)
{
wrapper = HostedWindowWrapper.CreateInternal(hwnd);
}
_interopProvider = new InteropAutomationProvider(wrapper, this);
}
return _interopProvider;
}
#region Data
private InteropAutomationProvider _interopProvider;
#endregion Data
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System.Collections.Generic;
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using System.Windows.Interop;
using System.Security;
using System.Security.Permissions;
using MS.Internal.Automation;
namespace System.Windows.Automation.Peers
{
///
internal class HwndHostAutomationPeer : FrameworkElementAutomationPeer
{
///
public HwndHostAutomationPeer(HwndHost owner): base(owner)
{
IsInteropPeer = true;
}
///
override protected string GetClassNameCore()
{
return "HwndHost";
}
///
override protected AutomationControlType GetAutomationControlTypeCore()
{
return AutomationControlType.Pane;
}
///
/// Critical - Calls critical HwndHost.CriticalHandle.
/// TreatAsSafe - Critical data is used internally and not explosed
///
[SecurityCritical, SecurityTreatAsSafe]
override internal InteropAutomationProvider GetInteropChild()
{
if (_interopProvider == null)
{
HostedWindowWrapper wrapper = null;
HwndHost host = (HwndHost)Owner;
IntPtr hwnd = host.CriticalHandle;
if(hwnd != IntPtr.Zero)
{
wrapper = HostedWindowWrapper.CreateInternal(hwnd);
}
_interopProvider = new InteropAutomationProvider(wrapper, this);
}
return _interopProvider;
}
#region Data
private InteropAutomationProvider _interopProvider;
#endregion Data
}
}
// 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
- panel.cs
- OSEnvironmentHelper.cs
- ConfigWriter.cs
- WmlPanelAdapter.cs
- RegexCharClass.cs
- DbConnectionPoolGroup.cs
- ProtocolViolationException.cs
- PageThemeBuildProvider.cs
- Queue.cs
- SmiMetaData.cs
- DesignerVerb.cs
- XmlBoundElement.cs
- ControlBuilder.cs
- NameValueConfigurationCollection.cs
- ValidationRule.cs
- PeerCollaboration.cs
- XmlDocument.cs
- EastAsianLunisolarCalendar.cs
- SegmentInfo.cs
- ProbeMatchesMessageCD1.cs
- Marshal.cs
- DrawingContextWalker.cs
- Annotation.cs
- Brush.cs
- Assert.cs
- ListDictionary.cs
- LayoutEvent.cs
- TableNameAttribute.cs
- _SslStream.cs
- GZipUtils.cs
- pingexception.cs
- EventProviderWriter.cs
- CompilationRelaxations.cs
- XmlSerializerSection.cs
- AlternateView.cs
- SecurityTokenSerializer.cs
- JsonUriDataContract.cs
- CodeAttributeDeclaration.cs
- SqlDataSourceConnectionPanel.cs
- MemberCollection.cs
- ContainerControl.cs
- AuthStoreRoleProvider.cs
- PolyLineSegmentFigureLogic.cs
- ReferenceEqualityComparer.cs
- SerializationInfo.cs
- CodeTypeConstructor.cs
- ExtensibleClassFactory.cs
- XmlSchemaProviderAttribute.cs
- CompiledAction.cs
- UrlMappingCollection.cs
- WebPartMenu.cs
- CustomAttributeBuilder.cs
- WebPartMenu.cs
- dbenumerator.cs
- TrackingProfileSerializer.cs
- LifetimeManager.cs
- BitmapEffectOutputConnector.cs
- SendMailErrorEventArgs.cs
- DebugControllerThread.cs
- ScriptMethodAttribute.cs
- CompilerCollection.cs
- MailBnfHelper.cs
- BrowserCapabilitiesCodeGenerator.cs
- DelegatingTypeDescriptionProvider.cs
- DataBinder.cs
- SqlDataAdapter.cs
- DataSourceSelectArguments.cs
- HostVisual.cs
- TextDecorationCollection.cs
- DataGridViewCellStyleConverter.cs
- SectionUpdates.cs
- LoggedException.cs
- BaseProcessor.cs
- Path.cs
- Point3DCollectionValueSerializer.cs
- SafeSerializationManager.cs
- JpegBitmapEncoder.cs
- COM2FontConverter.cs
- MetadataUtil.cs
- DocComment.cs
- ValidatingPropertiesEventArgs.cs
- XamlFilter.cs
- sqlmetadatafactory.cs
- IdentitySection.cs
- Int32.cs
- CombinedGeometry.cs
- MultiSelectRootGridEntry.cs
- ExpressionConverter.cs
- SiteMapNodeItemEventArgs.cs
- TdsParserStateObject.cs
- IOException.cs
- XmlCharCheckingWriter.cs
- TextMetrics.cs
- HistoryEventArgs.cs
- Link.cs
- FilterQueryOptionExpression.cs
- XmlUtil.cs
- SmiEventSink_DeferedProcessing.cs
- QueryCursorEventArgs.cs
- WorkflowLayouts.cs