PSS_CAPTURE_FLAGS 枚举 (processsnapshot.h)

指定 PssCaptureSnapshot 捕获的内容的标志。

语法

typedef enum {
  PSS_CAPTURE_NONE = 0x00000000,
  PSS_CAPTURE_VA_CLONE = 0x00000001,
  PSS_CAPTURE_RESERVED_00000002 = 0x00000002,
  PSS_CAPTURE_HANDLES = 0x00000004,
  PSS_CAPTURE_HANDLE_NAME_INFORMATION = 0x00000008,
  PSS_CAPTURE_HANDLE_BASIC_INFORMATION = 0x00000010,
  PSS_CAPTURE_HANDLE_TYPE_SPECIFIC_INFORMATION = 0x00000020,
  PSS_CAPTURE_HANDLE_TRACE = 0x00000040,
  PSS_CAPTURE_THREADS = 0x00000080,
  PSS_CAPTURE_THREAD_CONTEXT = 0x00000100,
  PSS_CAPTURE_THREAD_CONTEXT_EXTENDED = 0x00000200,
  PSS_CAPTURE_RESERVED_00000400 = 0x00000400,
  PSS_CAPTURE_VA_SPACE = 0x00000800,
  PSS_CAPTURE_VA_SPACE_SECTION_INFORMATION = 0x00001000,
  PSS_CAPTURE_IPT_TRACE = 0x00002000,
  PSS_CAPTURE_RESERVED_00004000,
  PSS_CREATE_BREAKAWAY_OPTIONAL = 0x04000000,
  PSS_CREATE_BREAKAWAY = 0x08000000,
  PSS_CREATE_FORCE_BREAKAWAY = 0x10000000,
  PSS_CREATE_USE_VM_ALLOCATIONS = 0x20000000,
  PSS_CREATE_MEASURE_PERFORMANCE = 0x40000000,
  PSS_CREATE_RELEASE_SECTION = 0x80000000
} PSS_CAPTURE_FLAGS;

常量

 
PSS_CAPTURE_NONE
值: 0x00000000
不捕获任何内容。
PSS_CAPTURE_VA_CLONE
值: 0x00000001
捕获过程中所有可克隆页面的快照。 克隆包括所有MEM_PRIVATE区域,以及 (可共享MEM_MAPPED和MEM_IMAGE) 的所有部分。 通过 CreateFileMapping 创建的所有 Win32 节都是可共享的。
PSS_CAPTURE_RESERVED_00000002
值: 0x00000002
(请勿使用。)
PSS_CAPTURE_HANDLES
值: 0x00000004
仅) 捕获句柄表 (句柄值。
PSS_CAPTURE_HANDLE_NAME_INFORMATION
值: 0x00000008
捕获每个句柄的名称信息。
PSS_CAPTURE_HANDLE_BASIC_INFORMATION
值: 0x00000010
捕获基本句柄信息,例如 HandleCountPointerCountGrantedAccess 等。
PSS_CAPTURE_HANDLE_TYPE_SPECIFIC_INFORMATION
值: 0x00000020
捕获受支持对象类型的特定于类型的信息: 进程线程事件MutantSection。
PSS_CAPTURE_HANDLE_TRACE
值: 0x00000040
捕获句柄跟踪表。
PSS_CAPTURE_THREADS
值: 0x00000080
仅) 捕获线程信息 (ID。
PSS_CAPTURE_THREAD_CONTEXT
值: 0x00000100
捕获每个线程的上下文。
PSS_CAPTURE_THREAD_CONTEXT_EXTENDED
值: 0x00000200
捕获每个线程 (的扩展上下文,例如 CONTEXT_XSTATE) 。
PSS_CAPTURE_RESERVED_00000400
值: 0x00000400
(请勿使用。)
PSS_CAPTURE_VA_SPACE
值: 0x00000800
捕获虚拟地址空间的快照。 VA 空间捕获为 MEMORY_BASIC_INFORMATION 结构的数组。 此标志不会捕获页面的内容。
PSS_CAPTURE_VA_SPACE_SECTION_INFORMATION
值: 0x00001000
对于 MEM_IMAGEMEM_MAPPED 区域,转储支持部分的文件路径 (与 GetMappedFileName 返回) 相同。 对于 MEM_IMAGE 区域,还会转储:



  • IMAGE_NT_HEADERS。FileHeader.TimeDateStamp



  • IMAGE_NT_HEADERS。OptionalHeader.SizeOfImage



  • IMAGE_NT_HEADERS。OptionalHeader.ImageBase



  • IMAGE_NT_HEADERS。OptionalHeader.CheckSum



进程句柄上需要PROCESS_VM_READ访问权限。

警告 仅当指定 了PSS_CAPTURE_VA_SPACE 时,此选项才有效。

 
PSS_CAPTURE_IPT_TRACE
值: 0x00002000
PSS_CREATE_BREAKAWAY_OPTIONAL
值: 0x04000000
分离是可选的。 如果克隆进程无法创建为分离过程,则它仍会在作业中创建。 必须结合 PSS_CREATE_FORCE_BREAKAWAY 和/或 PSS_CREATE_BREAKAWAY指定此标志。
PSS_CREATE_BREAKAWAY
值: 0x08000000
克隆脱离父进程的作业。 这等效于 CreateProcess 标志 CREATE_BREAKAWAY_FROM_JOB
PSS_CREATE_FORCE_BREAKAWAY
值: 0x10000000
克隆被强制断开父进程的作业。 仅 Tcb 特权调用方允许这样做。
PSS_CREATE_USE_VM_ALLOCATIONS
值: 0x20000000
设施不应将进程堆用于任何持久性或暂时性分配。 在某些上下文(例如,在异常报告路径中创建快照 (堆可能损坏) )中,可能不需要使用堆。
PSS_CREATE_MEASURE_PERFORMANCE
值: 0x40000000
测量设施的性能。 可以通过 PssQuerySnapshot 检索性能计数器,其 PSS_QUERY_PERFORMANCE_COUNTERS 信息类 为 PSS_QUERY_INFORMATION_CLASS
PSS_CREATE_RELEASE_SECTION
值: 0x80000000
虚拟地址 (VA) 克隆进程不保存对基础映像的引用。 这将导致 QueryFullProcessImageName 等函数在 VA 克隆过程中失败。

重要说明  

除非指定 PSS_CAPTURE_VA_CLONE ,否则此标志无效。


 

注解

如果同时指定 了PSS_CREATE_FORCE_BREAKAWAYPSS_CREATE_BREAKAWAY ,则 PSS_CREATE_FORCE_BREAKAWAY 优先。

要求

要求
最低受支持的客户端 Windows 8.1 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 R2 [仅限桌面应用]
标头 processsnapshot.h

另请参阅

进程快照