windows-nt/Source/XPSP1/NT/base/ntsetup/win95upg/inc/migmain.h

154 lines
2.5 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
migmain.h
Abstract:
Declares routines for w95upgnt\migmain, the NT-side migration
library that does all the work.
Author:
Jim Schmidt (jimschm) 12-Sep-1996
Revision History:
<alias> <date> <comments>
--*/
#pragma once
//
// migmain.h -- public interface for migmain.lib
//
//
BOOL MigMain_Init (void);
BOOL MigMain_Migrate (void);
BOOL MigMain_Cleanup (void);
VOID
TerminateProcessingTable (
VOID
);
//
// filter functions in migmain.c
//
typedef enum {
CONVERTPATH_NOT_REMAPPED,
CONVERTPATH_REMAPPED,
CONVERTPATH_DELETED
} CONVERTPATH_RC;
CONVERTPATH_RC
ConvertWin9xPath (
IN OUT PTSTR PathBuf
);
//
// User enum
//
typedef enum {
WIN9X_USER_ACCOUNT,
ADMINISTRATOR_ACCOUNT,
LOGON_USER_SETTINGS,
DEFAULT_USER_ACCOUNT
} ACCOUNTTYPE;
typedef struct {
HKEY UserHiveRoot;
TCHAR TempProfile[MAX_TCHAR_PATH];
TCHAR ProfileToDelete[MAX_TCHAR_PATH];
BOOL UserHiveRootOpen;
BOOL UserHiveRootCreated;
BOOL DefaultHiveSaved;
BOOL LastUserWasDefault;
} USERMIGDATA, *PUSERMIGDATA;
typedef struct {
//
// These members are information to the caller
//
UINT TotalUsers;
UINT ActiveUsers;
TCHAR Win9xUserName[MAX_USER_NAME];
TCHAR FixedUserName[MAX_USER_NAME];
TCHAR FixedDomainName[MAX_USER_NAME];
ACCOUNTTYPE AccountType;
TCHAR UserDatLocation[MAX_TCHAR_PATH];
BOOL Valid;
BOOL CreateOnly;
BOOL UserDoingTheUpgrade;
PUSERMIGDATA ExtraData; // NULL if not available
//
// These members are for internal use by the
// enumeration routines.
//
UINT UserNumber;
DWORD Flags;
TCHAR Win95RegName[MAX_USER_NAME];
USERPOSITION up;
} MIGRATE_USER_ENUM, *PMIGRATE_USER_ENUM;
#define ENUM_SET_WIN9X_HKR 0x0001
#define ENUM_ALL_USERS 0x0002
#define ENUM_NO_FLAGS 0
BOOL
EnumFirstUserToMigrate (
OUT PMIGRATE_USER_ENUM e,
IN DWORD Flags
);
BOOL
EnumNextUserToMigrate (
IN OUT PMIGRATE_USER_ENUM e
);
#define REQUEST_QUERYTICKS 1
#define REQUEST_RUN 2
#define REQUEST_BEGINUSERPROCESSING 3
#define REQUEST_ENDUSERPROCESSING 4
//
// tapi.c
//
BOOL
Tapi_MigrateSystem (
VOID
);
BOOL
Tapi_MigrateUser (
IN PCTSTR UserName,
IN HKEY UserRoot
);
DWORD
DeleteSysTapiSettings (
IN DWORD Request
);
DWORD
DeleteUserTapiSettings (
IN DWORD Request,
IN PMIGRATE_USER_ENUM EnumPtr
);