mirror of
https://github.com/BeneficialCode/WinArk.git
synced 2026-10-17 04:40:35 +08:00
33 lines
1.0 KiB
C
33 lines
1.0 KiB
C
#pragma once
|
|
|
|
typedef struct _EX_HOST_BINDING {
|
|
USHORT ExtensionId;
|
|
USHORT ExtensionVersion;
|
|
USHORT FunctionCount;
|
|
} EX_HOST_BINDING;
|
|
|
|
typedef DWORD_PTR PEX_HOST_BIND_NOTIFICATION;
|
|
|
|
typedef struct _EX_HOST_PARAMETERS {
|
|
EX_HOST_BINDING HostBinding;
|
|
POOL_TYPE PoolType;
|
|
PVOID HostTable;
|
|
PEX_HOST_BIND_NOTIFICATION BindNotification;
|
|
PVOID BindNotificationContext;
|
|
} EX_HOST_PARAMETERS, * PEX_HOST_PARAMETERS;
|
|
|
|
typedef struct _EX_HOST {
|
|
LIST_ENTRY HostListEntry;
|
|
volatile LONG RefCounter;
|
|
EX_HOST_PARAMETERS HostParameters;
|
|
EX_RUNDOWN_REF RundownProtection;
|
|
EX_PUSH_LOCK PushLock;
|
|
PVOID ExtensionTable;
|
|
ULONG Flags;
|
|
} EX_HOST, * PEX_HOST;
|
|
|
|
struct WinExtHosts final {
|
|
static ULONG GetCount(PLIST_ENTRY pExpHostList);
|
|
static bool Enum(PLIST_ENTRY pExpHostList, WinExtHostInfo* pInfo);
|
|
static bool EnumExtTable(ExtHostData* pData, PVOID* pInfo);
|
|
}; |