2019-07-23 08:37:10 +02:00
|
|
|
/* 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);
|
2019-08-03 22:43:16 +02:00
|
|
|
|
|
|
|
extern NTSTATUS ZwYieldExecution(VOID);
|