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

147 lines
3.3 KiB
C

/****************************************************************************
Copyright (c) Microsoft Corporation 2000
All rights reserved
File: COMPAT.H
***************************************************************************/
#ifndef _COMPAT_H_
#define _COMPAT_H_
INT_PTR CALLBACK
CompatibilityDlgProc(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam );
INT_PTR CALLBACK
StopServiceWrnDlgProc(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam );
INT_PTR CALLBACK
DoStopServiceDlgProc(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam );
BOOL
ProcessCompatibilityData(
VOID
);
BOOL
CleanupCompatibilityData(
VOID
);
#define COMPFLAG_HIDE 0x00000001
#define COMPFLAG_STOPINSTALL 0x00000002
#define COMPFLAG_ALLOWNT5COMPAT 0x00000004
#define COMPFLAG_SERVICERUNNING 0x00000008
#define COMPFLAG_CHANGESTATE 0x00000010
#define COMPFLAG_ALREADYSTOPPED 0x10000000
#define COMP_ERR_DESC_NOT_UNICODE (ULONG)0xc00000001
#define COMP_ERR_TEXTNAME_NOT_UNICODE (ULONG)0xc00000002
#define COMP_ERR_HTMLNAME_NOT_UNICODE (ULONG)0xc00000003
#define COMP_ERR_REGKEYNAME_NOT_UNICODE (ULONG)0xc00000004
#define COMP_ERR_REGVALNAME_NOT_UNICODE (ULONG)0xc00000005
#define COMP_ERR_REGVALNAME_MISSING (ULONG)0xc00000006
#define COMP_ERR_REGVALDATA_MISSING (ULONG)0xc00000007
#define COMP_ERR_TEXTNAME_MISSING (ULONG)0xc00000008
#define COMP_ERR_DESC_MISSING (ULONG)0xc00000009
#define COMP_ERR_INFNAME_NOT_UNICODE (ULONG)0xc0000000A
#define COMP_ERR_INFSECTION_NOT_UNICODE (ULONG)0xc0000000B
#define COMP_ERR_INFSECTION_MISSING (ULONG)0xc0000000C
typedef struct _RIPREP_COMPATIBILITY_ENTRY {
DWORD SizeOfStruct;
LPTSTR Description;
LPTSTR HtmlName;
LPTSTR TextName;
LPTSTR RegKeyName;
LPTSTR RegValName;
DWORD RegValDataSize;
LPVOID RegValData;
DWORD Flags;
DWORD MsgResourceId;
} RIPREP_COMPATIBILITY_ENTRY, *PRIPREP_COMPATIBILITY_ENTRY;
typedef struct _RIPREP_COMPATIBILITY_DATA {
//
// general
//
LIST_ENTRY ListEntry;
//
// what type of entry
//
TCHAR Type;
//
// service-driver data
//
LPCTSTR ServiceName;
//
// registry data
//
LPCTSTR RegKey;
LPCTSTR RegValue;
LPCTSTR RegValueExpect;
//
// file data
//
LPCTSTR FileName;
LPCTSTR FileVer;
//
// common
//
LPCTSTR Description;
LPCTSTR HtmlName;
LPCTSTR TextName;
LPTSTR RegKeyName;
LPTSTR RegValName;
LPVOID RegValData;
DWORD RegValDataSize;
DWORD Flags;
LPCTSTR InfName;
LPCTSTR InfSection;
DWORD MsgResourceId;
HMODULE hModDll;
} RIPREP_COMPATIBILITY_DATA, *PRIPREP_COMPATIBILITY_DATA;
typedef struct _RIPREP_COMPATIBILITY_CONTEXT {
DWORD SizeOfStruct;
DWORD Count;
HMODULE hModDll;
DWORD Flags;
} RIPREP_COMPATIBILITY_CONTEXT, *PRIPREP_COMPATIBILITY_CONTEXT;
typedef BOOL
(CALLBACK *PCOMPATIBILITYCALLBACK)(
PRIPREP_COMPATIBILITY_ENTRY CompEntry,
LPVOID Context
);
typedef BOOL
(WINAPI *PCOMPATIBILITYCHECK)(
PCOMPATIBILITYCALLBACK CompatibilityCallback,
LPVOID Context
);
#endif // _COMPAT_H_