Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: trunk/src/tools/win/ChromeDebug/LowLevel/Types.cs

Issue 23537062: Revert 223758 "Initial submit of ChromeDebug extension. " (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: trunk/src/tools/win/ChromeDebug/LowLevel/Types.cs
===================================================================
--- trunk/src/tools/win/ChromeDebug/LowLevel/Types.cs (revision 223795)
+++ trunk/src/tools/win/ChromeDebug/LowLevel/Types.cs (working copy)
@@ -1,177 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ChromeDebug.LowLevel {
- // Defines structures, enumerations, and types used by Win32 API calls. In some cases, the API
- // calls support (and even document) many more values than what are listed here. Should
- // additional values be required, they can be added to the respective types.
- public static class LowLevelTypes {
-
- #region Constants and Enums
- // Represents the image format of a DLL or executable.
- public enum ImageFormat {
- NATIVE,
- MANAGED,
- UNKNOWN
- }
-
- // Flags used for opening a file handle (e.g. in a call to CreateFile), that determine the
- // requested permission level.
- [Flags]
- public enum FileAccessFlags : uint {
- GENERIC_WRITE = 0x40000000,
- GENERIC_READ = 0x80000000
- }
-
- // Value used for CreateFile to determine how to behave in the presence (or absence) of a
- // file with the requested name. Used only for CreateFile.
- public enum FileCreationDisposition : uint {
- CREATE_NEW = 1,
- CREATE_ALWAYS = 2,
- OPEN_EXISTING = 3,
- OPEN_ALWAYS = 4,
- TRUNCATE_EXISTING = 5
- }
-
- // Flags that determine what level of sharing this application requests on the target file.
- // Used only for CreateFile.
- [Flags]
- public enum FileShareFlags : uint {
- EXCLUSIVE_ACCESS = 0x0,
- SHARE_READ = 0x1,
- SHARE_WRITE = 0x2,
- SHARE_DELETE = 0x4
- }
-
- // Flags that control caching and other behavior of the underlying file object. Used only for
- // CreateFile.
- [Flags]
- public enum FileFlagsAndAttributes : uint {
- NORMAL = 0x80,
- OPEN_REPARSE_POINT = 0x200000,
- SEQUENTIAL_SCAN = 0x8000000,
- RANDOM_ACCESS = 0x10000000,
- NO_BUFFERING = 0x20000000,
- OVERLAPPED = 0x40000000
- }
-
- // The target architecture of a given executable image. The various values correspond to the
- // magic numbers defined by the PE Executable Image File Format.
- // http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
- public enum MachineType : ushort {
- UNKNOWN = 0x0,
- X64 = 0x8664,
- X86 = 0x14c,
- IA64 = 0x200
- }
-
- // A flag indicating the format of the path string that Windows returns from a call to
- // QueryFullProcessImageName().
- public enum ProcessQueryImageNameMode : uint {
- WIN32_FORMAT = 0,
- NATIVE_SYSTEM_FORMAT = 1
- }
-
- // Flags indicating the level of permission requested when opening a handle to an external
- // process. Used by OpenProcess().
- [Flags]
- public enum ProcessAccessFlags : uint {
- NONE = 0x0,
- ALL = 0x001F0FFF,
- VM_OPERATION = 0x00000008,
- VM_READ = 0x00000010,
- QUERY_INFORMATION = 0x00000400,
- QUERY_LIMITED_INFORMATION = 0x00001000
- }
-
- // Defines return value codes used by various Win32 System APIs.
- public enum NTSTATUS : int {
- SUCCESS = 0,
- }
-
- // Determines the amount of information requested (and hence the type of structure returned)
- // by a call to NtQueryInformationProcess.
- public enum PROCESSINFOCLASS : int {
- PROCESS_BASIC_INFORMATION = 0
- };
- #endregion
-
- #region Structures
- // In general, for all structures below which contains a pointer (represented here by IntPtr),
- // the pointers refer to memory in the address space of the process from which the original
- // structure was read. While this seems obvious, it means we cannot provide an elegant
- // interface to the various fields in the structure due to the de-reference requiring a
- // handle to the target process. Instead, that functionality needs to be provided at a
- // higher level.
- //
- // Additionally, since we usually explicitly define the fields that we're interested in along
- // with their respective offsets, we frequently specify the exact size of the native structure.
-
- // Win32 UNICODE_STRING structure.
- [StructLayout(LayoutKind.Sequential)]
- public struct UNICODE_STRING {
- // The length in bytes of the string pointed to by buffer, not including the null-terminator.
- private ushort length;
- // The total allocated size in memory pointed to by buffer.
- private ushort maximumLength;
- // A pointer to the buffer containing the string data.
- private IntPtr buffer;
-
- public ushort Length { get { return length; } }
- public ushort MaximumLength { get { return maximumLength; } }
- public IntPtr Buffer { get { return buffer; } }
- }
-
- // Win32 RTL_USER_PROCESS_PARAMETERS structure.
- [StructLayout(LayoutKind.Explicit, Size = 72)]
- public struct RTL_USER_PROCESS_PARAMETERS {
- [FieldOffset(56)]
- private UNICODE_STRING imagePathName;
- [FieldOffset(64)]
- private UNICODE_STRING commandLine;
-
- public UNICODE_STRING ImagePathName { get { return imagePathName; } }
- public UNICODE_STRING CommandLine { get { return commandLine; } }
- };
-
- // Win32 PEB structure. Represents the process environment block of a process.
- [StructLayout(LayoutKind.Explicit, Size = 472)]
- public struct PEB {
- [FieldOffset(2), MarshalAs(UnmanagedType.U1)]
- private bool isBeingDebugged;
- [FieldOffset(12)]
- private IntPtr ldr;
- [FieldOffset(16)]
- private IntPtr processParameters;
- [FieldOffset(468)]
- private uint sessionId;
-
- public bool IsBeingDebugged { get { return isBeingDebugged; } }
- public IntPtr Ldr { get { return ldr; } }
- public IntPtr ProcessParameters { get { return processParameters; } }
- public uint SessionId { get { return sessionId; } }
- };
-
- // Win32 PROCESS_BASIC_INFORMATION. Contains a pointer to the PEB, and various other
- // information about a process.
- [StructLayout(LayoutKind.Explicit, Size = 24)]
- public struct PROCESS_BASIC_INFORMATION {
- [FieldOffset(4)]
- private IntPtr pebBaseAddress;
- [FieldOffset(16)]
- private UIntPtr uniqueProcessId;
-
- public IntPtr PebBaseAddress { get { return pebBaseAddress; } }
- public UIntPtr UniqueProcessId { get { return uniqueProcessId; } }
- }
- #endregion
- }
-}
« no previous file with comments | « trunk/src/tools/win/ChromeDebug/LowLevel/Properties/AssemblyInfo.cs ('k') | trunk/src/tools/win/ChromeDebug/README.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698