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
- PingReply.cs
- CompareValidator.cs
- SchemaElementLookUpTable.cs
- PnrpPermission.cs
- XmlMapping.cs
- MergeFilterQuery.cs
- ipaddressinformationcollection.cs
- ShapingWorkspace.cs
- GridViewColumnHeader.cs
- EditorPart.cs
- ToolStripDropTargetManager.cs
- dataobject.cs
- MarkerProperties.cs
- ExpressionBuilderContext.cs
- XmlQueryTypeFactory.cs
- VisualTreeUtils.cs
- SQLMoneyStorage.cs
- XmlSchemaChoice.cs
- TemplatedMailWebEventProvider.cs
- DataListAutoFormat.cs
- EntityClassGenerator.cs
- DataTableMapping.cs
- MatrixConverter.cs
- SqlDataSourceSelectingEventArgs.cs
- querybuilder.cs
- ExtenderControl.cs
- QuaternionIndependentAnimationStorage.cs
- ManipulationStartedEventArgs.cs
- VideoDrawing.cs
- ProtocolsSection.cs
- ColorAnimationBase.cs
- PriorityBinding.cs
- arc.cs
- ObjectReaderCompiler.cs
- CqlGenerator.cs
- ModelVisual3D.cs
- PrimitiveType.cs
- RawAppCommandInputReport.cs
- Opcode.cs
- InvalidWMPVersionException.cs
- ResourceManager.cs
- AnimationClock.cs
- Oid.cs
- BamlVersionHeader.cs
- DeflateEmulationStream.cs
- WorkflowDesigner.cs
- VerticalAlignConverter.cs
- DependencyPropertyChangedEventArgs.cs
- RowsCopiedEventArgs.cs
- FontUnitConverter.cs
- HtmlValidatorAdapter.cs
- peersecuritysettings.cs
- WebPartsSection.cs
- DataChangedEventManager.cs
- RegexStringValidatorAttribute.cs
- XmlKeywords.cs
- HtmlPageAdapter.cs
- MetadataArtifactLoaderComposite.cs
- AttributeExtensions.cs
- DiscoveryClientBindingElement.cs
- SqlTransaction.cs
- ModuleBuilderData.cs
- _emptywebproxy.cs
- BlurBitmapEffect.cs
- DocumentViewerConstants.cs
- EntityDataSourceEntityTypeFilterItem.cs
- DataGridViewCellStyleChangedEventArgs.cs
- UIPermission.cs
- HwndHost.cs
- WeakReference.cs
- ComplexPropertyEntry.cs
- MethodRental.cs
- MissingMemberException.cs
- fixedPageContentExtractor.cs
- TextDpi.cs
- MatcherBuilder.cs
- MapPathBasedVirtualPathProvider.cs
- COM2ComponentEditor.cs
- ImageSource.cs
- DSASignatureDeformatter.cs
- FontUnitConverter.cs
- WebEvents.cs
- FileCodeGroup.cs
- CacheEntry.cs
- XmlDataSourceNodeDescriptor.cs
- EntityParameter.cs
- HebrewNumber.cs
- DefinitionUpdate.cs
- MissingMemberException.cs
- InkPresenter.cs
- ProvidePropertyAttribute.cs
- GeometryHitTestParameters.cs
- HttpRuntime.cs
- AVElementHelper.cs
- CodeCommentStatement.cs
- InternalEnumValidatorAttribute.cs
- KeyNotFoundException.cs
- PermissionToken.cs
- TextPointerBase.cs
- CodeNamespace.cs