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
- TypeTypeConverter.cs
- SoapFormatter.cs
- ImageCreator.cs
- GroupDescription.cs
- CollectionChangedEventManager.cs
- CaseStatementSlot.cs
- SectionRecord.cs
- PngBitmapEncoder.cs
- AutomationElement.cs
- AttributeExtensions.cs
- GeneralTransformGroup.cs
- smtppermission.cs
- XmlAnyElementAttributes.cs
- HandleCollector.cs
- WebPartDeleteVerb.cs
- ConnectionStringsExpressionBuilder.cs
- DocumentOrderComparer.cs
- PerspectiveCamera.cs
- CompiledRegexRunner.cs
- CodeDefaultValueExpression.cs
- UIInitializationException.cs
- DiscreteKeyFrames.cs
- DataShape.cs
- CultureInfoConverter.cs
- XmlExpressionDumper.cs
- EncodingInfo.cs
- FixedLineResult.cs
- ConnectorSelectionGlyph.cs
- Stream.cs
- Avt.cs
- IpcClientChannel.cs
- DataGridColumnCollection.cs
- GeometryHitTestResult.cs
- GCHandleCookieTable.cs
- Substitution.cs
- AccessibleObject.cs
- EditingContext.cs
- StringAnimationBase.cs
- ServiceHostingEnvironment.cs
- XmlDocumentSurrogate.cs
- NamedPermissionSet.cs
- WorkflowRuntimeService.cs
- Header.cs
- TextTreeNode.cs
- RawMouseInputReport.cs
- Psha1DerivedKeyGenerator.cs
- Psha1DerivedKeyGenerator.cs
- CodeCastExpression.cs
- HtmlElement.cs
- CompressStream.cs
- ProgressChangedEventArgs.cs
- _OSSOCK.cs
- TypeCollectionPropertyEditor.cs
- PagedDataSource.cs
- SqlRowUpdatingEvent.cs
- JavaScriptString.cs
- COM2ExtendedBrowsingHandler.cs
- OneToOneMappingSerializer.cs
- Win32Exception.cs
- ListViewTableRow.cs
- SoapIgnoreAttribute.cs
- ReceiveSecurityHeaderElementManager.cs
- listviewsubitemcollectioneditor.cs
- IResourceProvider.cs
- DoWorkEventArgs.cs
- ReadContentAsBinaryHelper.cs
- SHA512Managed.cs
- CreateRefExpr.cs
- DiscreteKeyFrames.cs
- Column.cs
- CompilationUtil.cs
- SoapAttributes.cs
- AutoGeneratedFieldProperties.cs
- BoundPropertyEntry.cs
- ExpressionBuilder.cs
- Mappings.cs
- XmlSchemaRedefine.cs
- PageAction.cs
- DataGridViewControlCollection.cs
- CheckBox.cs
- DataGridToolTip.cs
- SmtpCommands.cs
- ChtmlPageAdapter.cs
- TypeTypeConverter.cs
- WindowAutomationPeer.cs
- DefinitionUpdate.cs
- ChangePassword.cs
- ConfigurationStrings.cs
- SnapLine.cs
- ShadowGlyph.cs
- TerminatorSinks.cs
- ConfigurationValues.cs
- TypeToken.cs
- StrokeNodeOperations.cs
- AnonymousIdentificationSection.cs
- DialogWindow.cs
- ProfileSettings.cs
- HttpModulesSection.cs
- OletxCommittableTransaction.cs
- HelpInfo.cs