PSS_HANDLE_ENTRY 结构 (processsnapshot.h)
保存 有关 PssWalkSnapshot 返回的句柄的信息。
语法
typedef struct {
HANDLE Handle;
PSS_HANDLE_FLAGS Flags;
PSS_OBJECT_TYPE ObjectType;
FILETIME CaptureTime;
DWORD Attributes;
DWORD GrantedAccess;
DWORD HandleCount;
DWORD PointerCount;
DWORD PagedPoolCharge;
DWORD NonPagedPoolCharge;
FILETIME CreationTime;
WORD TypeNameLength;
wchar_t const *TypeName;
WORD ObjectNameLength;
wchar_t const *ObjectName;
union {
struct {
DWORD ExitStatus;
void *PebBaseAddress;
ULONG_PTR AffinityMask;
LONG BasePriority;
DWORD ProcessId;
DWORD ParentProcessId;
DWORD Flags;
} Process;
struct {
DWORD ExitStatus;
void *TebBaseAddress;
DWORD ProcessId;
DWORD ThreadId;
ULONG_PTR AffinityMask;
int Priority;
int BasePriority;
void *Win32StartAddress;
} Thread;
struct {
LONG CurrentCount;
BOOL Abandoned;
DWORD OwnerProcessId;
DWORD OwnerThreadId;
} Mutant;
struct {
BOOL ManualReset;
BOOL Signaled;
} Event;
struct {
void *BaseAddress;
DWORD AllocationAttributes;
LARGE_INTEGER MaximumSize;
} Section;
struct {
LONG CurrentCount;
LONG MaximumCount;
} Semaphore;
} TypeSpecificInformation;
} PSS_HANDLE_ENTRY;
成员
Handle
句柄值。
Flags
指示此结构的哪些部分有效的标志。 有关详细信息,请参阅 PSS_HANDLE_FLAGS。
ObjectType
句柄引用的对象的类型。 有关详细信息,请参阅 PSS_OBJECT_TYPE。
CaptureTime
此信息的捕获时间。 有关详细信息,请参阅 FILETIME。
Attributes
特性。
GrantedAccess
保留供操作系统使用。
HandleCount
保留供操作系统使用。
PointerCount
保留供操作系统使用。
PagedPoolCharge
保留供操作系统使用。
NonPagedPoolCharge
保留供操作系统使用。
CreationTime
保留供操作系统使用。
TypeNameLength
TypeName 的长度(以字节为单位)。
TypeName
此句柄引用的对象的类型名称。 缓冲区不能以 NULL 字符结尾。 指针在传递到 PssWalkSnapshot 的步行标记的生存期内有效。
ObjectNameLength
ObjectName 的长度(以字节为单位)。
ObjectName
指定此句柄引用的对象的名称。 缓冲区不能以 NULL 字符结尾。 指针在传递到 PssWalkSnapshot 的步行标记的生存期内有效。
TypeSpecificInformation
特定于类型的信息。
进程
对 ObjectType = PSS_OBJECT_TYPE_PROCESS有效。
ExitStatus
进程的退出代码。 如果进程尚未退出,则设置为 STILL_ACTIVE ( 259) 。
PebBaseAddress
进程环境块的地址 (PEB) 。 保留供操作系统使用。
AffinityMask
进程的关联掩码。
BasePriority
进程的基本优先级。
ProcessId
进程 ID。
“ParentProcessId”
父进程 ID。
Flags
有关进程的标志。 有关详细信息,请参阅 PSS_PROCESS_FLAGS。
线程
对 ObjectType = PSS_OBJECT_TYPE_THREAD有效。
ExitStatus
进程的退出代码。 如果进程尚未退出,则设置为 STILL_ACTIVE ( 259) 。
TebBaseAddress
线程环境块的地址 (TEB) 。 保留供操作系统使用。
ProcessId
进程 ID。
ThreadId
线程 ID。
AffinityMask
进程的关联掩码。
优先级
线程的动态优先级。
BasePriority
线程的基本优先级级别。
Win32StartAddress
指向线程的线程过程的指针。
突变
对 ObjectType = PSS_OBJECT_TYPE_MUTANT有效。
CurrentCount
保留供操作系统使用。
已放弃
如果已放弃突变体 (拥有线程退出而不释放互斥体) ,则为 TRUE;否则为 FALSE。
OwnerProcessId
创建和处理捕获时拥有线程的进程 ID,快照。
OwnerThreadId
创建和处理捕获时拥有线程的进程 ID,快照。
事件
对 ObjectType = PSS_OBJECT_TYPE_EVENT有效。
ManualReset
如果事件为手动重置,则为 TRUE;如果不是,则为 FALSE。
暗示
如果在创建和处理捕获时发出事件信号,则 快照为 TRUE;如果不是,则为 FALSE。
部分
对 ObjectType = PSS_OBJECT_TYPE_SECTION有效。
BaseAddress
保留供操作系统使用。
AllocationAttributes
保留供操作系统使用。
MaximumSize
保留供操作系统使用。
TypeSpecificInformation.Process
TypeSpecificInformation.Process.ExitStatus
TypeSpecificInformation.Process.PebBaseAddress
TypeSpecificInformation.Process.AffinityMask
TypeSpecificInformation.Process.BasePriority
TypeSpecificInformation.Process.ProcessId
TypeSpecificInformation.Process.ParentProcessId
TypeSpecificInformation.Process.Flags
TypeSpecificInformation.Thread
TypeSpecificInformation.Thread.ExitStatus
TypeSpecificInformation.Thread.TebBaseAddress
TypeSpecificInformation.Thread.ProcessId
TypeSpecificInformation.Thread.ThreadId
TypeSpecificInformation.Thread.AffinityMask
TypeSpecificInformation.Thread.Priority
TypeSpecificInformation.Thread.BasePriority
TypeSpecificInformation.Thread.Win32StartAddress
TypeSpecificInformation.Mutant
TypeSpecificInformation.Mutant.CurrentCount
TypeSpecificInformation.Mutant.Abandoned
TypeSpecificInformation.Mutant.OwnerProcessId
TypeSpecificInformation.Mutant.OwnerThreadId
TypeSpecificInformation.Event
TypeSpecificInformation.Event.ManualReset
TypeSpecificInformation.Event.Signaled
TypeSpecificInformation.Section
TypeSpecificInformation.Section.BaseAddress
TypeSpecificInformation.Section.AllocationAttributes
TypeSpecificInformation.Section.MaximumSize
TypeSpecificInformation.Semaphore
TypeSpecificInformation.Semaphore.CurrentCount
TypeSpecificInformation.Semaphore.MaximumCount
注解
当调用方提供的PSS_WALK_INFORMATION_CLASS成员PSS_WALK_HANDLES时,PssWalkSnapshot 将返回PSS_HANDLE_ENTRY结构。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 R2 [仅限桌面应用] |
标头 | processsnapshot.h |