Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / Win32Providers / MS / Internal / AutomationProxies / SafeProcessHandle.cs / 1305600 / SafeProcessHandle.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // // History: // 10/04/2003 : [....] Created //--------------------------------------------------------------------------- using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Windows.Automation; using Microsoft.Win32.SafeHandles; using MS.Win32; namespace MS.Internal.AutomationProxies { internal sealed class SafeProcessHandle : SafeHandleZeroOrMinusOneIsInvalid { // This constructor is used by the P/Invoke marshaling layer // to allocate a SafeHandle instance. P/Invoke then does the // appropriate method call, storing the handle in this class. private SafeProcessHandle() : base(true) {} internal SafeProcessHandle(IntPtr hwnd) : base(true) { uint processId; if (hwnd == IntPtr.Zero) { processId = UnsafeNativeMethods.GetCurrentProcessId(); } else { // Get process id... Misc.GetWindowThreadProcessId(hwnd, out processId); } // handle might be used to query for Wow64 information (_QUERY_), or to do cross-process allocs (VM_*) SetHandle(Misc.OpenProcess(NativeMethods.PROCESS_QUERY_INFORMATION | NativeMethods.PROCESS_VM_OPERATION | NativeMethods.PROCESS_VM_READ | NativeMethods.PROCESS_VM_WRITE, false, processId, hwnd)); } // Uncomment this if & only if we need a constructor // that takes a handle from external code //internal SafeProcessHandle(IntPtr preexistingHandle, bool ownsHandle) : base(ownsHandle) //{ // SetHandle(preexistingHandle); //} // protected override bool ReleaseHandle() { return Misc.CloseHandle(handle); } } } // 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
- PasswordBox.cs
- AppDomain.cs
- RequestCacheValidator.cs
- RawStylusSystemGestureInputReport.cs
- mda.cs
- ReferenceSchema.cs
- ActivityDesignerResources.cs
- SqlClientFactory.cs
- ObjectDataSourceStatusEventArgs.cs
- RichListBox.cs
- MouseActionConverter.cs
- UnsafeNetInfoNativeMethods.cs
- Thickness.cs
- DataGridViewCellFormattingEventArgs.cs
- FileUtil.cs
- DataColumnMapping.cs
- CodeExpressionCollection.cs
- PrimaryKeyTypeConverter.cs
- ThreadInterruptedException.cs
- ReadingWritingEntityEventArgs.cs
- LineServicesRun.cs
- SystemDiagnosticsSection.cs
- HierarchicalDataBoundControl.cs
- XsdDateTime.cs
- Triangle.cs
- ToolStripStatusLabel.cs
- IfElseDesigner.xaml.cs
- AnimationTimeline.cs
- _ListenerRequestStream.cs
- CheckBoxPopupAdapter.cs
- CodeValidator.cs
- ProtocolsSection.cs
- TextBoxAutomationPeer.cs
- ProcessHostConfigUtils.cs
- SoapMessage.cs
- DataGridTextBox.cs
- ProfileSettings.cs
- ThreadPool.cs
- SchemaComplexType.cs
- Int16KeyFrameCollection.cs
- ActionItem.cs
- InputLanguageProfileNotifySink.cs
- PackageStore.cs
- NumberFunctions.cs
- SaveLedgerEntryRequest.cs
- PrintDialog.cs
- RectKeyFrameCollection.cs
- EventLogTraceListener.cs
- TreeNode.cs
- TripleDESCryptoServiceProvider.cs
- ConfigurationLocation.cs
- EmbeddedObject.cs
- QueuePathEditor.cs
- ArgumentValue.cs
- CurrentTimeZone.cs
- RegexCharClass.cs
- TrustSection.cs
- Rotation3DKeyFrameCollection.cs
- Storyboard.cs
- TemplatedEditableDesignerRegion.cs
- HeaderPanel.cs
- IsolatedStorageSecurityState.cs
- LocatorBase.cs
- HMACSHA1.cs
- CallbackValidator.cs
- ServiceCredentials.cs
- BamlLocalizationDictionary.cs
- EtwTrackingBehavior.cs
- indexingfiltermarshaler.cs
- DataGridItemEventArgs.cs
- MaterializeFromAtom.cs
- documentation.cs
- DataStorage.cs
- KnownTypeAttribute.cs
- EmptyQuery.cs
- MimeXmlReflector.cs
- GlyphRunDrawing.cs
- WebControlParameterProxy.cs
- ListControlConvertEventArgs.cs
- SqlDataSourceTableQuery.cs
- CodeTypeParameterCollection.cs
- XpsColorContext.cs
- Effect.cs
- ContourSegment.cs
- RoleGroupCollection.cs
- RulePatternOps.cs
- ArgumentsParser.cs
- PriorityQueue.cs
- TypeBrowserDialog.cs
- WebPartEditVerb.cs
- LineBreakRecord.cs
- EditorServiceContext.cs
- BmpBitmapDecoder.cs
- DataGridViewComboBoxEditingControl.cs
- IconHelper.cs
- UserControl.cs
- OwnerDrawPropertyBag.cs
- TextTreeObjectNode.cs
- InvalidateEvent.cs
- BrowserDefinitionCollection.cs