115 lines
1.7 KiB
C
115 lines
1.7 KiB
C
/*++
|
|
|
|
Copyright (c) 1992 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
instutil.h
|
|
|
|
Abstract:
|
|
|
|
Header file for common definition for programs that manipulate the output of
|
|
the INSTALER.EXE program (e.g. DISPINST.EXE, COMPINST.EXE, UNDOINST.EXE)
|
|
|
|
Author:
|
|
|
|
Steve Wood (stevewo) 14-Jan-1996
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#include <windows.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <tchar.h>
|
|
|
|
WCHAR InstalerDirectory[ MAX_PATH ];
|
|
PWSTR InstallationName;
|
|
PWSTR ImlPath;
|
|
BOOLEAN DebugOutput;
|
|
|
|
//
|
|
// Useful rounding macros that the rounding amount is always a
|
|
// power of two.
|
|
//
|
|
|
|
#define ROUND_DOWN( Size, Amount ) ((DWORD)(Size) & ~((Amount) - 1))
|
|
#define ROUND_UP( Size, Amount ) (((DWORD)(Size) + ((Amount) - 1)) & ~((Amount) - 1))
|
|
|
|
void
|
|
InitCommonCode(
|
|
LPSTR ModuleName,
|
|
LPSTR ModuleUsage1,
|
|
LPSTR ModuleUsage2
|
|
);
|
|
|
|
void
|
|
Usage(
|
|
LPSTR Message,
|
|
ULONG MessageParameter
|
|
);
|
|
|
|
void
|
|
FatalError(
|
|
LPSTR Message,
|
|
ULONG MessageParameter1,
|
|
ULONG MessageParameter2
|
|
);
|
|
|
|
void
|
|
InputMessage(
|
|
PWSTR FileName,
|
|
ULONG LineNumber,
|
|
BOOLEAN Error,
|
|
LPSTR Message,
|
|
ULONG MessageParameter1,
|
|
ULONG MessageParameter2
|
|
);
|
|
|
|
PWSTR
|
|
GetArgAsUnicode(
|
|
LPSTR s
|
|
);
|
|
|
|
void
|
|
CommonSwitchProcessing(
|
|
PULONG argc,
|
|
PCHAR **argv,
|
|
CHAR c
|
|
);
|
|
|
|
BOOLEAN
|
|
CommonArgProcessing(
|
|
PULONG argc,
|
|
PCHAR **argv
|
|
);
|
|
|
|
PWSTR
|
|
FormatTempFileName(
|
|
PWSTR Directory,
|
|
PUSHORT TempFileUniqueId
|
|
);
|
|
|
|
|
|
PWSTR
|
|
CreateBackupFileName(
|
|
PUSHORT TempFileUniqueId
|
|
);
|
|
|
|
|
|
typedef struct _ENUM_TYPE_NAMES {
|
|
ULONG Value;
|
|
LPSTR Name;
|
|
} ENUM_TYPE_NAMES, *PENUM_TYPE_NAMES;
|
|
|
|
LPSTR
|
|
FormatEnumType(
|
|
ULONG BufferIndex,
|
|
PENUM_TYPE_NAMES Table,
|
|
ULONG Value,
|
|
BOOLEAN FlagFormat
|
|
);
|
|
|
|
ENUM_TYPE_NAMES ValueDataTypeNames[];
|