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
- XmlWellformedWriterHelpers.cs
- EnumDataContract.cs
- DataViewListener.cs
- TreeNodeClickEventArgs.cs
- DateTimeFormat.cs
- PaperSize.cs
- DecoderFallback.cs
- TextEditorDragDrop.cs
- TextParaClient.cs
- __FastResourceComparer.cs
- WriteableBitmap.cs
- ReachDocumentPageSerializerAsync.cs
- StylusPointPropertyId.cs
- PerformanceCounterPermissionEntryCollection.cs
- EntityCollection.cs
- HelpKeywordAttribute.cs
- ExcludePathInfo.cs
- SqlRemoveConstantOrderBy.cs
- MenuCommands.cs
- OutputScopeManager.cs
- DefaultSection.cs
- QuotedStringWriteStateInfo.cs
- HtmlTernaryTree.cs
- OciLobLocator.cs
- Attributes.cs
- ConvertersCollection.cs
- ColumnResizeAdorner.cs
- DataBoundLiteralControl.cs
- BrowsableAttribute.cs
- EntryIndex.cs
- KeyValueSerializer.cs
- QueryNode.cs
- Latin1Encoding.cs
- SerializationInfoEnumerator.cs
- CultureTable.cs
- DependencyPropertyAttribute.cs
- DataGridViewDataErrorEventArgs.cs
- Win32Exception.cs
- SecurityPolicySection.cs
- XmlAutoDetectWriter.cs
- JsonServiceDocumentSerializer.cs
- securitycriticaldataformultiplegetandset.cs
- DynamicRenderer.cs
- DataGridViewCellConverter.cs
- SystemColorTracker.cs
- TextBoxBase.cs
- WebPartUtil.cs
- IisTraceListener.cs
- TableCellCollection.cs
- AbandonedMutexException.cs
- EventBuilder.cs
- AxisAngleRotation3D.cs
- ConnectionConsumerAttribute.cs
- EntityClientCacheEntry.cs
- BufferedMessageData.cs
- ServiceEndpointElementCollection.cs
- PathGradientBrush.cs
- FreezableOperations.cs
- EventLogPermissionEntryCollection.cs
- HttpHostedTransportConfiguration.cs
- IgnoreSection.cs
- TrustSection.cs
- NamespaceImport.cs
- ConstraintCollection.cs
- OleDbConnectionFactory.cs
- NamespaceEmitter.cs
- ListControlConvertEventArgs.cs
- SectionInput.cs
- ResourcePart.cs
- SrgsNameValueTag.cs
- ReadOnlyObservableCollection.cs
- JsonXmlDataContract.cs
- StylusButtonCollection.cs
- ClientSponsor.cs
- ConstraintManager.cs
- SqlCacheDependencyDatabaseCollection.cs
- IdentityReference.cs
- QueryStoreStatusRequest.cs
- HyperLinkField.cs
- ResXResourceSet.cs
- LinkLabel.cs
- AssemblyUtil.cs
- OleDbSchemaGuid.cs
- Symbol.cs
- SqlConnectionPoolProviderInfo.cs
- EntityDataSourceColumn.cs
- HtmlMeta.cs
- IPPacketInformation.cs
- WinEventWrap.cs
- BamlTreeUpdater.cs
- Stack.cs
- SingleObjectCollection.cs
- NestPullup.cs
- WindowsPrincipal.cs
- WebEvents.cs
- BooleanFacetDescriptionElement.cs
- XmlDataSourceView.cs
- Utils.cs
- MouseGestureConverter.cs
- HighContrastHelper.cs