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 |