[USETUP] Moving around some code.

- As GetSourcePaths() is used once in USETUP to initialize global
  UNICODE_STRING path strings once, move it out of drivesup.c and
  put it in usetup.c. Then remove drivesup.c : 1 file less!

- Move some INF file prototype declarations out of usetup.h and
  inside inffile.h where they should better be, as inffile.h and .c
  is the glue code for the INF library, defining similar functions
  as the ones in setupapi.dll.

- I rename our local SetupOpenInfFileW() into SetupOpenInfFileExW()
  because the latter one takes an extra user-provided LCID parameter,
  and this is this one that we use in USETUP.

- Make 'UNICODE_STRING SourcePath;' visible only inside usetup.c
  (not used elsewhere).

- Implement installation path validity check in case we are either
  in repair/update, or unattended setup mode. If the path is detected
  as invalid, then we fall back into manual path specification
  (for now...; note that we could instead fail the installation too).

svn path=/branches/setup_improvements/; revision=75246
This commit is contained in:
Hermès Bélusca-Maïto 2017-06-30 19:02:35 +00:00
parent 49d3daf1af
commit 397faf62bf
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
8 changed files with 136 additions and 168 deletions

View file

@ -72,36 +72,9 @@
#include "mui.h"
extern HANDLE ProcessHeap;
extern UNICODE_STRING SourcePath;
extern BOOLEAN IsUnattendedSetup;
extern PWCHAR SelectedLanguageId;
extern VOID InfSetHeap(PVOID Heap);
extern VOID InfCloseFile(HINF InfHandle);
extern BOOLEAN InfFindNextLine(PINFCONTEXT ContextIn,
PINFCONTEXT ContextOut);
extern BOOLEAN InfGetBinaryField(PINFCONTEXT Context,
ULONG FieldIndex,
PUCHAR ReturnBuffer,
ULONG ReturnBufferSize,
PULONG RequiredSize);
extern BOOLEAN InfGetMultiSzField(PINFCONTEXT Context,
ULONG FieldIndex,
PWSTR ReturnBuffer,
ULONG ReturnBufferSize,
PULONG RequiredSize);
extern BOOLEAN InfGetStringField(PINFCONTEXT Context,
ULONG FieldIndex,
PWSTR ReturnBuffer,
ULONG ReturnBufferSize,
PULONG RequiredSize);
#define SetupCloseInfFile InfCloseFile
#define SetupFindNextLine InfFindNextLine
#define SetupGetBinaryField InfGetBinaryField
#define SetupGetMultiSzFieldW InfGetMultiSzField
#define SetupGetStringFieldW InfGetStringField
typedef enum _PAGE_NUMBER
{
LANGUAGE_PAGE,