Rebase against 0f1cb96b694a38106464044285296e531f90bb67

This commit is contained in:
Alistair Leslie-Hughes
2018-02-13 09:38:21 +11:00
parent 8b685b1ebd
commit e58651c321
26 changed files with 330 additions and 768 deletions

View File

@@ -1,19 +1,20 @@
From c8675f4675c856711f0b3e3395e484e77e6c4c00 Mon Sep 17 00:00:00 2001
From 4f9ac8c39ccef8c5e3016981a4508e5e54598a91 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 10 Jan 2017 21:04:11 +0100
Subject: include: Add run level information enum and structure to winnt.h.
Subject: [PATCH] include: Add run level information enum and structure to
winnt.h.
---
include/winnt.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
include/winnt.h | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/include/winnt.h b/include/winnt.h
index 72c399b410f..abdd7569eed 100644
index 04f00a6..6e72a6a 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -5670,11 +5670,30 @@ typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION {
typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
@@ -5763,16 +5763,34 @@ typedef struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION {
} ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION, *PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION;
#endif
+typedef enum {
+ ACTCTX_RUN_LEVEL_UNSPECIFIED = 0,
@@ -37,11 +38,17 @@ index 72c399b410f..abdd7569eed 100644
AssemblyDetailedInformationInActivationContext = 3,
FileInformationInAssemblyOfAssemblyInActivationContext = 4,
+ RunlevelInformationInActivationContext = 5,
+ CompatibilityInformationInActivationContext = 6,
CompatibilityInformationInActivationContext = 6,
+ ActivationContextManifestResourceName = 7,
MaxActivationContextInfoClass,
AssemblyDetailedInformationInActivationContxt = 3,
- AssemblyDetailedInformationInActivationContxt = 3,
- FileInformationInAssemblyOfAssemblyInActivationContxt = 4
+ AssemblyDetailedInformationInActivationContxt = 3,
+ FileInformationInAssemblyOfAssemblyInActivationContxt = 4
} ACTIVATION_CONTEXT_INFO_CLASS;
#define ACTIVATION_CONTEXT_PATH_TYPE_NONE 1
--
2.11.0
1.9.1

View File

@@ -1,45 +1,27 @@
From d7c46fb48d7fab2cd7caa498843f85ff085cae6a Mon Sep 17 00:00:00 2001
From c657cab5f25ce05fb091f03fccf005517d3918a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 10 Jan 2017 21:06:06 +0100
Subject: ntdll: Parse execution level information in manifest data.
Subject: [PATCH] ntdll: Parse execution level information in manifest data.
---
dlls/ntdll/actctx.c | 166 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 157 insertions(+), 9 deletions(-)
dlls/ntdll/actctx.c | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 148 insertions(+)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index 323ee68fc09..6801bcfb6d2 100644
index 956f255..b099bb1 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -490,15 +490,18 @@ enum assembly_type
struct assembly
{
- enum assembly_type type;
- struct assembly_identity id;
- struct file_info manifest;
- WCHAR *directory;
- BOOL no_inherit;
- struct dll_redirect *dlls;
- unsigned int num_dlls;
- unsigned int allocated_dlls;
- struct entity_array entities;
+ enum assembly_type type;
+ struct assembly_identity id;
+ struct file_info manifest;
+ WCHAR *directory;
+ BOOL no_inherit;
+ struct dll_redirect *dlls;
+ unsigned int num_dlls;
+ unsigned int allocated_dlls;
+ struct entity_array entities;
@@ -501,6 +501,9 @@ struct assembly
struct entity_array entities;
COMPATIBILITY_CONTEXT_ELEMENT* compat_contexts;
ULONG num_compat_contexts;
+ BOOL rel_found;
+ ACTCTX_REQUESTED_RUN_LEVEL run_level;
+ DWORD ui_access;
};
enum context_sections
@@ -557,6 +560,10 @@ static const WCHAR fileW[] = {'f','i','l','e',0};
@@ -559,6 +562,10 @@ static const WCHAR fileW[] = {'f','i','l','e',0};
static const WCHAR hashW[] = {'h','a','s','h',0};
static const WCHAR noInheritW[] = {'n','o','I','n','h','e','r','i','t',0};
static const WCHAR noInheritableW[] = {'n','o','I','n','h','e','r','i','t','a','b','l','e',0};
@@ -50,7 +32,7 @@ index 323ee68fc09..6801bcfb6d2 100644
static const WCHAR typelibW[] = {'t','y','p','e','l','i','b',0};
static const WCHAR windowClassW[] = {'w','i','n','d','o','w','C','l','a','s','s',0};
@@ -2024,6 +2031,142 @@ static BOOL parse_clr_surrogate_elem(xmlbuf_t* xmlbuf, struct assembly* assembly
@@ -2055,6 +2062,142 @@ static BOOL parse_clr_surrogate_elem(xmlbuf_t* xmlbuf, struct assembly* assembly
return parse_expect_end_elem(xmlbuf, clrSurrogateW, asmv1W);
}
@@ -193,7 +175,7 @@ index 323ee68fc09..6801bcfb6d2 100644
static BOOL parse_dependent_assembly_elem(xmlbuf_t* xmlbuf, struct actctx_loader* acl, BOOL optional)
{
struct assembly_identity ai;
@@ -2296,6 +2439,11 @@ static BOOL parse_assembly_elem(xmlbuf_t* xmlbuf, struct actctx_loader* acl,
@@ -2405,6 +2548,11 @@ static BOOL parse_assembly_elem(xmlbuf_t* xmlbuf, struct actctx_loader* acl,
{
ret = parse_clr_surrogate_elem(xmlbuf, assembly, acl);
}
@@ -206,5 +188,5 @@ index 323ee68fc09..6801bcfb6d2 100644
{
if (!parse_assembly_identity_elem(xmlbuf, acl->actctx, &assembly->id)) return FALSE;
--
2.11.0
1.9.1