windows-nt/Source/XPSP1/NT/base/ntsetup/books/books.h
2020-09-26 16:20:57 +08:00

223 lines
3.4 KiB
C

#include <windows.h>
#include <commdlg.h>
#include "rc_ids.h"
#include "dialogs.h"
#include "msg.h"
//
// Define enumeration type for product type.
// The user can override the product type on the command line
// (ie, if we are on a workstation normally we look for worksttion
// books, but user can override this).
//
typedef enum {
ForceNone,
ForceServer,
ForceWorkstation
} ForceProduct;
//
// module handle
//
extern HANDLE hInst;
//
// Handle of main icon.
//
extern HICON MainIcon;
//
// Command line parameters
//
extern ForceProduct CmdLineForce;
//
// Fixed name of the help file. This is dependent on whether
// this is server or workstation and is set in FixupNames().
//
extern PWSTR HelpFileName;
//
// Path on CD-ROM where online books files are located.
// We "just know" this value.
//
extern PWSTR PathOfBooksFilesOnCd;
//
// Name of profile value that stores the last known location
// of the online books helpfile. This value varies depending
// on the product (workstation/server).
//
extern PWSTR BooksProfileLocation;
//
// Profile routines. These actually operate on registry data.
// See bkprof.c.
//
PWSTR
MyGetProfileValue(
IN PWSTR ValueName,
IN PWSTR DefaultValue
);
BOOL
MySetProfileValue(
IN PWSTR ValueName,
OUT PWSTR Value
);
//
// Routines to manipulate help files and help file names.
// See bkhlpfil.c.
//
VOID
FormHelpfilePaths(
IN WCHAR Drive, OPTIONAL
IN PWSTR Path,
IN PWSTR FilenamePrepend, OPTIONAL
OUT PWSTR Filename,
OUT PWSTR Directory OPTIONAL
);
BOOL
CheckHelpfilePresent(
IN PWSTR Path
);
VOID
FireUpWinhelp(
IN WCHAR Drive, OPTIONAL
IN PWSTR Path
);
//
// Memory manipulation routines. Note that MyMalloc always
// succeeds (it does not return if it fails).
// See bkmem.c.
//
VOID
OutOfMemory(
VOID
);
PVOID
MyMalloc(
IN DWORD Size
);
VOID
MyFree(
IN PVOID Block
);
//
// Resource manipulation routines.
// See bkres.c.
//
PWSTR
MyLoadString(
IN UINT StringId
);
PWSTR
RetreiveMessage(
IN UINT MessageId,
...
);
int
MessageBoxFromMessage(
IN HWND Owner,
IN UINT MessageId,
IN UINT CaptionStringId,
IN UINT Style,
...
);
//
// Routine to install the on-line books to a local hard drive.
// See bkinst.c.
//
BOOL
DoInstall(
IN OUT PWSTR *Location
);
//
// Routine to carry out an action with a billboard
// telling the user what is going on.
// See bkthrdlg.c.
//
DWORD
ActionWithBillboard(
IN PTHREAD_START_ROUTINE ThreadEntry,
IN HWND OwnerWindow,
IN UINT CaptionStringId,
IN UINT TextStringId,
IN PVOID UserData
);
//
// Structure that is passed to ThreadEntry.
//
typedef struct _ACTIONTHREADPARAMS {
HWND hdlg;
PVOID UserData;
} ACTIONTHREADPARAMS, *PACTIONTHREADPARAMS;
//
// Miscellaneous utility routines.
// See bkutils.c.
//
WCHAR
LocateCdRomDrive(
VOID
);
BOOL
IsCdRomInDrive(
IN WCHAR Drive,
IN PWSTR TagFile
);
UINT
MyGetDriveType(
IN WCHAR Drive
);
BOOL
DoesFileExist(
IN PWSTR File
);
PWSTR
DupString(
IN PWSTR String
);
VOID
CenterDialogOnScreen(
IN HWND hdlg
);
VOID
CenterDialogInWindow(
IN HWND hdlg,
IN HWND hwnd
);
VOID
MyError(
IN HWND Owner,
IN UINT StringId,
IN BOOL Fatal
);