From 0268e51099bc1b24bdf2de7e87f8f78425f88c5e Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Thu, 16 Apr 2020 16:08:55 -0700 Subject: [PATCH] dll: launch: registry: support Recovery setting --- inc/winfsp/launch.h | 3 ++- src/dll/launch.c | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/inc/winfsp/launch.h b/inc/winfsp/launch.h index b04e3546..112ee251 100644 --- a/inc/winfsp/launch.h +++ b/inc/winfsp/launch.h @@ -291,7 +291,8 @@ typedef struct _FSP_LAUNCH_REG_RECORD ULONG JobControl; ULONG Credentials; ULONG AuthPackageId; - ULONG Reserved1[5]; + ULONG Recovery; + ULONG Reserved1[4]; UINT8 Buffer[]; } FSP_LAUNCH_REG_RECORD; #pragma warning(pop) diff --git a/src/dll/launch.c b/src/dll/launch.c index 62358d7f..47ab36fb 100644 --- a/src/dll/launch.c +++ b/src/dll/launch.c @@ -274,6 +274,7 @@ FSP_API NTSTATUS FspLaunchRegSetRecord( SETFIELDI(JobControl, ~0); /* JobControl default is 1; but we treat as without default */ SETFIELDI(Credentials, 0); SETFIELDI(AuthPackageId, 0); + SETFIELDI(Recovery, 0); } else { @@ -426,6 +427,7 @@ FSP_API NTSTATUS FspLaunchRegGetRecord( GETFIELDI(JobControl); GETFIELDI(Credentials); GETFIELDI(AuthPackageId); + GETFIELDI(Recovery); if (0 == Record->Executable) { @@ -459,6 +461,7 @@ FSP_API NTSTATUS FspLaunchRegGetRecord( Record->JobControl = RecordBuf.JobControl; Record->Credentials = RecordBuf.Credentials; Record->AuthPackageId = RecordBuf.AuthPackageId; + Record->Recovery = RecordBuf.Recovery; *PRecord = Record; Result = STATUS_SUCCESS;