Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Interop / WindowInteropHelper.cs / 1305600 / WindowInteropHelper.cs
//---------------------------------------------------------------------------- // // File: WindowInteropHelper.cs // // Description: Implements Avalon WindowInteropHelper classes, which helps // interop b/w legacy and Avalon Window. // // Created: 05/06/03 // // Copyright (C) 2001 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Windows; using System.Windows.Interop; using System.Security; using System.Security.Permissions; using System.Diagnostics; using MS.Internal; using MS.Win32; namespace System.Windows.Interop { #region class WindowInteropHelper ////// Implements Avalon WindowInteropHelper classes, which helps /// interop b/w legacy and Avalon Window. /// public sealed class WindowInteropHelper { //--------------------------------------------------- // // Constructors // //--------------------------------------------------- #region Constructors ////// /// /// public WindowInteropHelper(Window window) { if (window == null) throw new ArgumentNullException("window"); _window = window; } #endregion Constructors //---------------------------------------------------- // // Public Properties // //--------------------------------------------------- #region Public Properties ////// Get the Handle of the window /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: Exposes a handle /// PublicOK: There is a demand , this API not available in internet zone /// public IntPtr Handle { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return CriticalHandle; } } ////// Critical: Exposes a handle /// internal IntPtr CriticalHandle { [SecurityCritical] get { Invariant.Assert(_window != null, "Cannot be null since we verify in the constructor"); return _window.CriticalHandle; } } ////// Get/Set the Owner handle of the window /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: Exposes a handle /// PublicOK: There is a demand , this API not available in internet zone /// public IntPtr Owner { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); Debug.Assert(_window != null, "Cannot be null since we verify in the constructor"); return _window.OwnerHandle; } [SecurityCritical] set { SecurityHelper.DemandUIWindowPermission(); Debug.Assert(_window != null, "Cannot be null since we verify in the constructor"); // error checking done in Window _window.OwnerHandle = value; } } #endregion Public Properties //---------------------------------------------------- // // Public Methods // //---------------------------------------------------- #region Public Methods ////// Create the hwnd of the Window if the hwnd is not created yet. /// ////// Critical: Create and exposes the window handle. /// PublicOK: We demand UIPermission. /// [SecurityCritical] public IntPtr EnsureHandle() { SecurityHelper.DemandUIWindowPermission(); if (CriticalHandle == IntPtr.Zero) { _window.CreateSourceWindow(false /*create hwnd during show*/); } return CriticalHandle; } #endregion Public Methods //---------------------------------------------- // // Private Fields // //---------------------------------------------- #region Private Fields private Window _window; #endregion Private Members } #endregion class WindowInteropHelper } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // File: WindowInteropHelper.cs // // Description: Implements Avalon WindowInteropHelper classes, which helps // interop b/w legacy and Avalon Window. // // Created: 05/06/03 // // Copyright (C) 2001 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Windows; using System.Windows.Interop; using System.Security; using System.Security.Permissions; using System.Diagnostics; using MS.Internal; using MS.Win32; namespace System.Windows.Interop { #region class WindowInteropHelper ////// Implements Avalon WindowInteropHelper classes, which helps /// interop b/w legacy and Avalon Window. /// public sealed class WindowInteropHelper { //--------------------------------------------------- // // Constructors // //--------------------------------------------------- #region Constructors ////// /// /// public WindowInteropHelper(Window window) { if (window == null) throw new ArgumentNullException("window"); _window = window; } #endregion Constructors //---------------------------------------------------- // // Public Properties // //--------------------------------------------------- #region Public Properties ////// Get the Handle of the window /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: Exposes a handle /// PublicOK: There is a demand , this API not available in internet zone /// public IntPtr Handle { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return CriticalHandle; } } ////// Critical: Exposes a handle /// internal IntPtr CriticalHandle { [SecurityCritical] get { Invariant.Assert(_window != null, "Cannot be null since we verify in the constructor"); return _window.CriticalHandle; } } ////// Get/Set the Owner handle of the window /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: Exposes a handle /// PublicOK: There is a demand , this API not available in internet zone /// public IntPtr Owner { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); Debug.Assert(_window != null, "Cannot be null since we verify in the constructor"); return _window.OwnerHandle; } [SecurityCritical] set { SecurityHelper.DemandUIWindowPermission(); Debug.Assert(_window != null, "Cannot be null since we verify in the constructor"); // error checking done in Window _window.OwnerHandle = value; } } #endregion Public Properties //---------------------------------------------------- // // Public Methods // //---------------------------------------------------- #region Public Methods ////// Create the hwnd of the Window if the hwnd is not created yet. /// ////// Critical: Create and exposes the window handle. /// PublicOK: We demand UIPermission. /// [SecurityCritical] public IntPtr EnsureHandle() { SecurityHelper.DemandUIWindowPermission(); if (CriticalHandle == IntPtr.Zero) { _window.CreateSourceWindow(false /*create hwnd during show*/); } return CriticalHandle; } #endregion Public Methods //---------------------------------------------- // // Private Fields // //---------------------------------------------- #region Private Fields private Window _window; #endregion Private Members } #endregion class WindowInteropHelper } // 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
- StringArrayConverter.cs
- RuntimeWrappedException.cs
- Console.cs
- CodeMethodInvokeExpression.cs
- MetadataArtifactLoaderComposite.cs
- ComProxy.cs
- OrthographicCamera.cs
- GraphicsPathIterator.cs
- ClientEventManager.cs
- Int32RectValueSerializer.cs
- LambdaCompiler.Unary.cs
- TemplateBindingExpressionConverter.cs
- RemoteAsymmetricSignatureFormatter.cs
- LocatorBase.cs
- Rect.cs
- ReturnType.cs
- RIPEMD160.cs
- BrushValueSerializer.cs
- FormatConvertedBitmap.cs
- DataSourceCacheDurationConverter.cs
- MeasurementDCInfo.cs
- QuaternionValueSerializer.cs
- SQLString.cs
- StringWriter.cs
- FieldDescriptor.cs
- CompilerWrapper.cs
- PrintPreviewControl.cs
- XmlILOptimizerVisitor.cs
- MasterPageCodeDomTreeGenerator.cs
- PartitionResolver.cs
- TypeUtils.cs
- ScriptManager.cs
- TransactionProtocolConverter.cs
- CachedPathData.cs
- TemplatePropertyEntry.cs
- DesignerWebPartChrome.cs
- TCPListener.cs
- Automation.cs
- SqlProviderServices.cs
- ObjectParameterCollection.cs
- SignerInfo.cs
- SelectorAutomationPeer.cs
- COM2Properties.cs
- HyperLinkColumn.cs
- AutoGeneratedField.cs
- ExtensionSimplifierMarkupObject.cs
- HashLookup.cs
- ListenerSessionConnection.cs
- XmlElementElement.cs
- ContractInferenceHelper.cs
- AspProxy.cs
- TraceContext.cs
- XmlWrappingReader.cs
- ThousandthOfEmRealPoints.cs
- panel.cs
- AuthorizationSection.cs
- DataObjectEventArgs.cs
- NameTable.cs
- DataGridCaption.cs
- SystemIPGlobalStatistics.cs
- ScriptingRoleServiceSection.cs
- StreamMarshaler.cs
- ImageMap.cs
- RadioButtonRenderer.cs
- WebGetAttribute.cs
- Control.cs
- RenderingEventArgs.cs
- IIS7WorkerRequest.cs
- returneventsaver.cs
- TextRunTypographyProperties.cs
- XsdDateTime.cs
- LoginUtil.cs
- AppSettingsSection.cs
- _ProxyChain.cs
- TextContainerChangedEventArgs.cs
- CultureMapper.cs
- Stream.cs
- CommandHelpers.cs
- UIElementPropertyUndoUnit.cs
- DocComment.cs
- QueryCursorEventArgs.cs
- ObjectItemAttributeAssemblyLoader.cs
- SafeNativeMethods.cs
- CodeArrayIndexerExpression.cs
- Empty.cs
- XmlComplianceUtil.cs
- WindowExtensionMethods.cs
- BamlBinaryWriter.cs
- dbenumerator.cs
- TextTreeObjectNode.cs
- WebServiceTypeData.cs
- EdmProperty.cs
- RelatedImageListAttribute.cs
- CommonXSendMessage.cs
- MasterPageParser.cs
- SchemaImporter.cs
- ComplusEndpointConfigContainer.cs
- TagPrefixInfo.cs
- MarkedHighlightComponent.cs
- AttributeData.cs