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

另请参阅

进程快照