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
- QueryCacheManager.cs
- RelativeSource.cs
- XmlTextReader.cs
- ASCIIEncoding.cs
- odbcmetadatacollectionnames.cs
- ConsoleTraceListener.cs
- TripleDESCryptoServiceProvider.cs
- TraversalRequest.cs
- __ComObject.cs
- MobilePage.cs
- CaseInsensitiveOrdinalStringComparer.cs
- AssociationSetEnd.cs
- GridViewColumn.cs
- TemplateModeChangedEventArgs.cs
- KeyValueConfigurationCollection.cs
- DataServiceResponse.cs
- AxisAngleRotation3D.cs
- GifBitmapEncoder.cs
- TypeExtensionSerializer.cs
- WebUtil.cs
- ActivityWithResultWrapper.cs
- SpanIndex.cs
- Utils.cs
- StorageRoot.cs
- CommandExpr.cs
- InheritablePropertyChangeInfo.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- TemplateField.cs
- TextViewSelectionProcessor.cs
- DataContext.cs
- DoubleCollectionConverter.cs
- VirtualDirectoryMappingCollection.cs
- ILGenerator.cs
- RevocationPoint.cs
- HttpFileCollection.cs
- ExpressionValueEditor.cs
- BoundsDrawingContextWalker.cs
- SHA1Cng.cs
- ScriptControlManager.cs
- MetaChildrenColumn.cs
- SectionVisual.cs
- SessionStateItemCollection.cs
- FunctionDetailsReader.cs
- SimpleBitVector32.cs
- CodeExpressionCollection.cs
- DataGridTableCollection.cs
- PagePropertiesChangingEventArgs.cs
- CookieParameter.cs
- StyleCollection.cs
- DesignerVerbCollection.cs
- BindValidationContext.cs
- CodeGroup.cs
- Calendar.cs
- DynamicMethod.cs
- AvtEvent.cs
- DataGridCommandEventArgs.cs
- XmlReader.cs
- ValueTypePropertyReference.cs
- HTTPRemotingHandler.cs
- DataColumnMappingCollection.cs
- CollaborationHelperFunctions.cs
- IndentedWriter.cs
- ProcessInfo.cs
- BridgeDataRecord.cs
- BaseInfoTable.cs
- GridViewRowPresenterBase.cs
- EntityClassGenerator.cs
- OutOfMemoryException.cs
- Slider.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- QilReplaceVisitor.cs
- PenCursorManager.cs
- MarkupExtensionReturnTypeAttribute.cs
- NegatedConstant.cs
- FrameworkContentElementAutomationPeer.cs
- BinaryReader.cs
- DataGridViewSelectedRowCollection.cs
- BinaryObjectReader.cs
- CodeStatementCollection.cs
- DoubleConverter.cs
- ContextActivityUtils.cs
- IIS7ConfigurationLoader.cs
- SiteMapPathDesigner.cs
- DataPointer.cs
- ExtendedProperty.cs
- PhoneCallDesigner.cs
- OpCopier.cs
- HtmlInputControl.cs
- Visual.cs
- GridViewCommandEventArgs.cs
- XmlNodeChangedEventManager.cs
- Gdiplus.cs
- SystemResources.cs
- ToolStripSplitButton.cs
- PreviewPageInfo.cs
- InternalsVisibleToAttribute.cs
- DbConnectionClosed.cs
- ExpressionReplacer.cs
- ImageConverter.cs
- NegotiationTokenAuthenticatorStateCache.cs