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
- ElapsedEventArgs.cs
- ObjectQuery.cs
- QilExpression.cs
- EntityDataSourceReferenceGroup.cs
- SafeSystemMetrics.cs
- InProcStateClientManager.cs
- DefaultValueConverter.cs
- __Filters.cs
- FunctionQuery.cs
- CheckBoxStandardAdapter.cs
- AudienceUriMode.cs
- RightsManagementPermission.cs
- ProcessProtocolHandler.cs
- CompilerTypeWithParams.cs
- HTTPNotFoundHandler.cs
- RuntimeWrappedException.cs
- BrowserCapabilitiesCodeGenerator.cs
- ReflectTypeDescriptionProvider.cs
- PositiveTimeSpanValidator.cs
- RepeatButtonAutomationPeer.cs
- ScriptHandlerFactory.cs
- InstanceHandleReference.cs
- DurableRuntimeValidator.cs
- GridViewCommandEventArgs.cs
- PreloadHost.cs
- ReferenceEqualityComparer.cs
- DataGridLinkButton.cs
- AsymmetricKeyExchangeFormatter.cs
- MobileSysDescriptionAttribute.cs
- KeyValueConfigurationCollection.cs
- FusionWrap.cs
- DataObject.cs
- SqlConnectionPoolGroupProviderInfo.cs
- PopupRootAutomationPeer.cs
- BuildResult.cs
- SecurityTokenRequirement.cs
- RequestDescription.cs
- HttpListenerResponse.cs
- TextDataBindingHandler.cs
- ObjectAnimationBase.cs
- sqlpipe.cs
- XmlCDATASection.cs
- COM2ExtendedBrowsingHandler.cs
- SoapSchemaExporter.cs
- CrossContextChannel.cs
- SecurityElement.cs
- ManageRequest.cs
- AmbiguousMatchException.cs
- GridViewColumnHeader.cs
- XslTransform.cs
- FunctionImportElement.cs
- ProviderConnectionPointCollection.cs
- selecteditemcollection.cs
- SectionInput.cs
- UserControlParser.cs
- ColorInterpolationModeValidation.cs
- TimeSpanConverter.cs
- FunctionOverloadResolver.cs
- QilBinary.cs
- SeekStoryboard.cs
- EntitySetBaseCollection.cs
- ISFTagAndGuidCache.cs
- DesignerTextViewAdapter.cs
- ListSourceHelper.cs
- FrameworkTemplate.cs
- EntityProxyFactory.cs
- NativeMethods.cs
- ConfigurationManagerInternalFactory.cs
- Application.cs
- CatalogZone.cs
- DbDataRecord.cs
- EncoderBestFitFallback.cs
- SoundPlayerAction.cs
- BitmapCache.cs
- MultilineStringConverter.cs
- LocalFileSettingsProvider.cs
- StringConcat.cs
- MessageDecoder.cs
- DataProtection.cs
- TrackBarRenderer.cs
- IgnorePropertiesAttribute.cs
- DescendantQuery.cs
- EventLogLink.cs
- PerspectiveCamera.cs
- ThreadExceptionEvent.cs
- FlatButtonAppearance.cs
- WorkflowDispatchContext.cs
- DataBoundLiteralControl.cs
- querybuilder.cs
- safemediahandle.cs
- AsnEncodedData.cs
- Attributes.cs
- GridViewPageEventArgs.cs
- Resources.Designer.cs
- Renderer.cs
- RegexParser.cs
- SystemFonts.cs
- DesignTimeParseData.cs
- RuleDefinitions.cs
- RegexTree.cs