2017-02-19 05:48:36 +00:00
|
|
|
#/*******************************************************************************
|
|
|
|
*
|
2019-03-21 05:12:02 +00:00
|
|
|
* (C) COPYRIGHT AUTHORS, 2014 - 2019
|
2017-02-19 05:48:36 +00:00
|
|
|
*
|
|
|
|
* TITLE: FUSION.H
|
|
|
|
*
|
2019-03-21 05:12:02 +00:00
|
|
|
* VERSION: 1.40
|
2017-02-19 05:48:36 +00:00
|
|
|
*
|
2019-03-21 05:12:02 +00:00
|
|
|
* DATE: 19 Mar 2019
|
2017-02-19 05:48:36 +00:00
|
|
|
*
|
|
|
|
* Header file for the autoelevated applications scan.
|
|
|
|
*
|
|
|
|
* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
|
|
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|
|
|
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
|
|
* PARTICULAR PURPOSE.
|
|
|
|
*
|
|
|
|
*******************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
|
2017-02-22 07:53:39 +00:00
|
|
|
#define UacFusionDataCommonType 0
|
|
|
|
#define UacFusionDataRedirectedDllType 1
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
AutoElevateUnspecified = 0,
|
|
|
|
AutoElevateDisabled = 1,
|
|
|
|
AutoElevateEnabled = 2
|
|
|
|
} AUTOELEVATESTATE;
|
|
|
|
|
2017-02-19 05:48:36 +00:00
|
|
|
typedef struct _UAC_FUSION_DATA {
|
2017-02-22 07:53:39 +00:00
|
|
|
DWORD DataType;
|
2017-02-19 05:48:36 +00:00
|
|
|
LPWSTR Name;
|
2017-05-09 03:39:44 +00:00
|
|
|
ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION RunLevel;
|
2017-02-22 07:53:39 +00:00
|
|
|
AUTOELEVATESTATE AutoElevateState;
|
2017-02-19 05:48:36 +00:00
|
|
|
BOOL IsFusion;
|
|
|
|
BOOL IsDotNet;
|
|
|
|
BOOL IsOSBinary;
|
|
|
|
BOOL IsSignatureValidOrTrusted;
|
|
|
|
} UAC_FUSION_DATA, *PUAC_FUSION_DATA;
|
|
|
|
|
2017-02-22 07:53:39 +00:00
|
|
|
typedef struct _UAC_FUSION_DATA_DLL {
|
|
|
|
DWORD DataType;
|
2017-03-02 04:19:49 +00:00
|
|
|
LPWSTR FileName;
|
|
|
|
LPWSTR DllName;
|
2017-02-22 07:53:39 +00:00
|
|
|
} UAC_FUSION_DATA_DLL, *PUAC_FUSION_DATA_DLL;
|
|
|
|
|
|
|
|
typedef struct _DLL_REDIRECTION_LIST_ENTRY {
|
|
|
|
SLIST_ENTRY ListEntry;
|
|
|
|
UNICODE_STRING DllName; //For release RtlFreeUnicodeString used, Buffer allocated in Process Heap
|
|
|
|
} DLL_REDIRECTION_LIST_ENTRY, *PDLL_REDIRECTION_ENTRY;
|
|
|
|
|
|
|
|
typedef struct _DLL_REDIRECTION_LIST {
|
|
|
|
SLIST_HEADER Header;
|
|
|
|
ULONG Depth;
|
|
|
|
} DLL_REDIRECTION_LIST, *PDLL_REDIRECTION_LIST;
|
|
|
|
|
|
|
|
NTSTATUS SxsGetDllRedirectionFromActivationContext(
|
|
|
|
_In_ PACTIVATION_CONTEXT ActivationContext,
|
2019-03-21 05:12:02 +00:00
|
|
|
_In_ PDLL_REDIRECTION_LIST DllList);
|
2017-02-22 07:53:39 +00:00
|
|
|
|
|
|
|
VOID FusionScanDirectory(
|
2017-02-19 05:48:36 +00:00
|
|
|
LPWSTR lpDirectory,
|
2019-03-21 05:12:02 +00:00
|
|
|
OUTPUTCALLBACK OutputCallback);
|
2017-02-19 05:48:36 +00:00
|
|
|
|
|
|
|
extern ptrWTGetSignatureInfo WTGetSignatureInfo;
|