次の方法で共有


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

型固有の情報。

Process

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。

スレッド Id

スレッド ID。

AffinityMask

プロセスのアフィニティ マスク。

優先度

スレッドの動的優先度レベル。

BasePriority

スレッドの基本優先度レベル。

Win32StartAddress

スレッドのスレッド プロシージャへのポインター。

変異

ObjectType = PSS_OBJECT_TYPE_MUTANTに対して有効です。

CurrentCount

オペレーティング システムで使用するために予約されています。

Abandoned

ミューテックスを解放せずに所有スレッドが終了した場合、ミュータントが破棄された場合は TRUE、そうでない場合は FALSE

OwnerProcessId

スナップショット作成およびハンドル キャプチャ時の所有スレッドのプロセス ID。

OwnerThreadId

スナップショット作成およびハンドル キャプチャ時の所有スレッドのプロセス ID。

イベント

ObjectType = PSS_OBJECT_TYPE_EVENTに対して有効です。

手動リセット

イベントが手動リセットの場合は 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

注釈

PssWalkSnapshot は、呼び出し元が提供する PSS_WALK_INFORMATION_CLASS メンバーが PSS_WALK_HANDLES されると 、PSS_HANDLE_ENTRY構造体を返します。

要件

要件
サポートされている最小のクライアント Windows 8.1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 R2 [デスクトップ アプリのみ]
Header processsnapshot.h

こちらもご覧ください

スナップショット処理の処理