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 捕获基本句柄信息,例如 HandleCount、 PointerCount、 GrantedAccess 等。 |
PSS_CAPTURE_HANDLE_TYPE_SPECIFIC_INFORMATION 值: 0x00000020 捕获受支持对象类型的特定于类型的信息: 进程、 线程、 事件、 Mutant、 Section。 |
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_IMAGE 和 MEM_MAPPED 区域,转储支持部分的文件路径 (与 GetMappedFileName 返回) 相同。 对于 MEM_IMAGE 区域,还会转储:
进程句柄上需要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_BREAKAWAY 和 PSS_CREATE_BREAKAWAY ,则 PSS_CREATE_FORCE_BREAKAWAY 优先。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 R2 [仅限桌面应用] |
标头 | processsnapshot.h |