Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AssociatedControlConverter.cs
- XamlFilter.cs
- GridEntryCollection.cs
- StorageMappingItemCollection.cs
- ProfileGroupSettings.cs
- StateDesigner.cs
- DrawListViewItemEventArgs.cs
- DocumentStatusResources.cs
- DataGridPagingPage.cs
- EntryIndex.cs
- GregorianCalendar.cs
- ToolStripDesignerAvailabilityAttribute.cs
- DashStyle.cs
- MatrixTransform3D.cs
- TemplateKeyConverter.cs
- DbReferenceCollection.cs
- Win32PrintDialog.cs
- Rectangle.cs
- XmlElementElement.cs
- HuffModule.cs
- BamlResourceSerializer.cs
- QueryableFilterUserControl.cs
- ListChunk.cs
- EntityClassGenerator.cs
- Token.cs
- TextTreeTextElementNode.cs
- PropertyEntry.cs
- VisualStyleTypesAndProperties.cs
- JsonReaderWriterFactory.cs
- OleDbEnumerator.cs
- SchemaSetCompiler.cs
- QilBinary.cs
- ProfileSettingsCollection.cs
- RoleManagerSection.cs
- MimeWriter.cs
- ArrayWithOffset.cs
- _NetRes.cs
- sapiproxy.cs
- XmlSchemaException.cs
- SystemIPInterfaceProperties.cs
- UserControlCodeDomTreeGenerator.cs
- ProfileGroupSettingsCollection.cs
- StringResourceManager.cs
- AppSettings.cs
- DbExpressionBuilder.cs
- StructuralCache.cs
- ListSurrogate.cs
- Scripts.cs
- InputReportEventArgs.cs
- BitmapImage.cs
- EdmProviderManifest.cs
- DataGridViewCellPaintingEventArgs.cs
- XmlSerializationReader.cs
- IISUnsafeMethods.cs
- ComboBoxItem.cs
- QuaternionConverter.cs
- SqlProviderManifest.cs
- DayRenderEvent.cs
- ClaimComparer.cs
- CompositeCollectionView.cs
- StateMachineWorkflowDesigner.cs
- Viewport3DAutomationPeer.cs
- EntityWithChangeTrackerStrategy.cs
- StateRuntime.cs
- PageRouteHandler.cs
- GenericTextProperties.cs
- ThicknessAnimationUsingKeyFrames.cs
- MediaElementAutomationPeer.cs
- Parser.cs
- basenumberconverter.cs
- CreateUserWizard.cs
- GridViewActionList.cs
- DriveInfo.cs
- ToolStripControlHost.cs
- ScaleTransform3D.cs
- AnnouncementInnerClientCD1.cs
- PrePrepareMethodAttribute.cs
- EntityDesignerDataSourceView.cs
- CollectionContainer.cs
- MailMessageEventArgs.cs
- QueryExtender.cs
- ObjectToken.cs
- ObjectStateEntryDbDataRecord.cs
- ExtensionQuery.cs
- StringConverter.cs
- DataContract.cs
- WebOperationContext.cs
- EntityKeyElement.cs
- PersistChildrenAttribute.cs
- CmsInterop.cs
- DeviceContext2.cs
- DbXmlEnabledProviderManifest.cs
- ContentType.cs
- ClientConfigPaths.cs
- UIntPtr.cs
- PkcsUtils.cs
- SequenceDesignerAccessibleObject.cs
- WindowsAuthenticationModule.cs
- StringHandle.cs
- IsolatedStorageException.cs