перечисление 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
Запишите snapshot всех клонируемых страниц в процессе. Клон включает все MEM_PRIVATE регионы, а также все разделы (MEM_MAPPED и MEM_IMAGE), к которым можно предоставить общий доступ. Все разделы Win32, созданные с помощью CreateFileMapping , доступны для общего доступа.
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
Запишите сведения о типе для поддерживаемых типов объектов: Process, Thread, Event, Mutant, Section.
PSS_CAPTURE_HANDLE_TRACE
Значение: 0x00000040
Запишите таблицу трассировки дескрипторов.
PSS_CAPTURE_THREADS
Значение: 0x00000080
Сбор сведений о потоке (только идентификаторы).
PSS_CAPTURE_THREAD_CONTEXT
Значение: 0x00000100
Запишите контекст для каждого потока.
PSS_CAPTURE_THREAD_CONTEXT_EXTENDED
Значение: 0x00000200
Захват расширенного контекста для каждого потока (например , CONTEXT_XSTATE).
PSS_CAPTURE_RESERVED_00000400
Значение: 0x00000400
(Не используйте.)
PSS_CAPTURE_VA_SPACE
Значение: 0x00000800
Запишите snapshot виртуального адресного пространства. Пространство VA записывается в виде массива MEMORY_BASIC_INFORMATION структур. Этот флаг не записывает содержимое страниц.
PSS_CAPTURE_VA_SPACE_SECTION_INFORMATION
Значение: 0x00001000
Для MEM_IMAGE и MEM_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
Клон оторвался от задания родительского процесса. Это эквивалентно CREATE_BREAKAWAY_FROM_JOB флага CreateProcess.
PSS_CREATE_FORCE_BREAKAWAY
Значение: 0x10000000
Клон принудительно оторвал задание родительского процесса. Это разрешено только для вызывающих с привилегированным доступом Tcb.
PSS_CREATE_USE_VM_ALLOCATIONS
Значение: 0x20000000
Объект не должен использовать кучу процесса для постоянных или временных выделений. Использование кучи может быть нежелательным в определенных контекстах, таких как создание моментальных снимков в пути создания отчетов об исключениях (где куча может быть повреждена).
PSS_CREATE_MEASURE_PERFORMANCE
Значение: 0x40000000
Измерение производительности объекта. Счетчики производительности можно получить с помощью PssQuerySnapshot с классом сведений PSS_QUERY_PERFORMANCE_COUNTERSPSS_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

См. также раздел

Создание моментальных снимков процесса