Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / AccessibleTech / longhorn / Automation / Win32Providers / MS / Internal / AutomationProxies / SafeProcessHandle.cs / 1 / 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
- EventProvider.cs
- BasicCellRelation.cs
- TreeNodeStyleCollection.cs
- ThrowHelper.cs
- ValueConversionAttribute.cs
- ParseHttpDate.cs
- SqlClientPermission.cs
- CustomAttributeBuilder.cs
- StickyNoteContentControl.cs
- HtmlWindowCollection.cs
- SystemUnicastIPAddressInformation.cs
- SqlBooleanizer.cs
- XmlMapping.cs
- PassportAuthenticationEventArgs.cs
- PngBitmapDecoder.cs
- BamlTreeMap.cs
- DataGridColumnReorderingEventArgs.cs
- NonParentingControl.cs
- SiteMapDataSourceView.cs
- DirectoryObjectSecurity.cs
- DefinitionProperties.cs
- PropertyValueChangedEvent.cs
- TrackingAnnotationCollection.cs
- StatusBar.cs
- XmlBoundElement.cs
- XmlKeywords.cs
- XmlWrappingReader.cs
- SourceChangedEventArgs.cs
- PermissionSet.cs
- StatusBarDrawItemEvent.cs
- AnimationTimeline.cs
- GraphicsPath.cs
- WebPartPersonalization.cs
- AstNode.cs
- SqlTrackingService.cs
- x509store.cs
- AtomServiceDocumentSerializer.cs
- ToolStripOverflowButton.cs
- GridItem.cs
- WpfWebRequestHelper.cs
- ListControlConvertEventArgs.cs
- CalendarTable.cs
- ProtectedConfigurationProviderCollection.cs
- ToolStripTemplateNode.cs
- TreeViewImageKeyConverter.cs
- NativeRecognizer.cs
- EndpointFilterProvider.cs
- RequestUriProcessor.cs
- SafeHandle.cs
- PropertyChangingEventArgs.cs
- RSAPKCS1SignatureDeformatter.cs
- PersistNameAttribute.cs
- SimpleTypesSurrogate.cs
- PackageDigitalSignatureManager.cs
- MaxMessageSizeStream.cs
- InvokeHandlers.cs
- TableCell.cs
- ExceptionHandler.cs
- IisTraceWebEventProvider.cs
- TraceInternal.cs
- FileLogRecordEnumerator.cs
- Operand.cs
- TemplateGroupCollection.cs
- ActivityCollectionMarkupSerializer.cs
- OwnerDrawPropertyBag.cs
- AutoResetEvent.cs
- SecurityDocument.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- KeyProperty.cs
- WebPart.cs
- GeneralTransform3DGroup.cs
- FindCompletedEventArgs.cs
- DynamicPropertyHolder.cs
- DataGridViewCheckBoxCell.cs
- DataObject.cs
- WebAdminConfigurationHelper.cs
- SingleSelectRootGridEntry.cs
- TakeOrSkipWhileQueryOperator.cs
- DocumentReferenceCollection.cs
- MachineKeyConverter.cs
- UInt32.cs
- RegionIterator.cs
- ISFClipboardData.cs
- CultureSpecificCharacterBufferRange.cs
- TextElementAutomationPeer.cs
- OrthographicCamera.cs
- PersonalizationEntry.cs
- DesignerLabelAdapter.cs
- FixedNode.cs
- ForeignKeyConstraint.cs
- LayoutEvent.cs
- HttpCachePolicy.cs
- WorkflowTimerService.cs
- SecurityChannel.cs
- COM2PropertyDescriptor.cs
- BufferedResponseStream.cs
- ScrollBarRenderer.cs
- FileNotFoundException.cs
- NumberSubstitution.cs
- ConfigurationSectionGroup.cs