40 lines
978 B
C
40 lines
978 B
C
|
/* SPDX-License-Identifier: GPL-2.0
|
||
|
*
|
||
|
* Copyright (C) 2018-2019 WireGuard LLC. All Rights Reserved.
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <wdm.h>
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
SystemExtendedHandleInformation = 0x40
|
||
|
} SYSTEM_INFORMATION_CLASS;
|
||
|
|
||
|
typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX
|
||
|
{
|
||
|
PVOID Object;
|
||
|
HANDLE UniqueProcessId;
|
||
|
HANDLE HandleValue;
|
||
|
ACCESS_MASK GrantedAccess;
|
||
|
USHORT CreatorBackTraceIndex;
|
||
|
USHORT ObjectTypeIndex;
|
||
|
ULONG HandleAttributes;
|
||
|
ULONG Reserved;
|
||
|
} SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX, *PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX;
|
||
|
|
||
|
typedef struct _SYSTEM_HANDLE_INFORMATION_EX
|
||
|
{
|
||
|
ULONG_PTR NumberOfHandles;
|
||
|
ULONG_PTR Reserved;
|
||
|
SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handles[ANYSIZE_ARRAY];
|
||
|
} SYSTEM_HANDLE_INFORMATION_EX, *PSYSTEM_HANDLE_INFORMATION_EX;
|
||
|
|
||
|
extern NTSTATUS
|
||
|
ZwQuerySystemInformation(
|
||
|
SYSTEM_INFORMATION_CLASS SystemInformationClass,
|
||
|
PVOID SystemInformation,
|
||
|
ULONG SystemInformationLength,
|
||
|
ULONG *ReturnLength);
|