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;