109 lines
2.4 KiB
C
109 lines
2.4 KiB
C
/*++
|
|
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
comp.h
|
|
|
|
Abstract:
|
|
|
|
This file defines the data structures
|
|
and interfaces for compatibility plug
|
|
in dlls for winnt32.
|
|
|
|
Author:
|
|
|
|
Wesley Witt (wesw) 6-Mar-1998
|
|
|
|
Environment:
|
|
|
|
User Mode
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _WINNT32COMP_
|
|
#define _WINNT32COMP_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#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 _COMPATIBILITY_ENTRY {
|
|
LPTSTR Description;
|
|
LPTSTR HtmlName;
|
|
LPTSTR TextName;
|
|
LPTSTR RegKeyName;
|
|
LPTSTR RegValName;
|
|
DWORD RegValDataSize;
|
|
LPVOID RegValData;
|
|
LPVOID SaveValue;
|
|
DWORD Flags;
|
|
LPTSTR InfName;
|
|
LPTSTR InfSection;
|
|
} COMPATIBILITY_ENTRY, *PCOMPATIBILITY_ENTRY;
|
|
|
|
typedef BOOL
|
|
(CALLBACK *PCOMPAIBILITYCALLBACK)(
|
|
PCOMPATIBILITY_ENTRY CompEntry,
|
|
LPVOID Context
|
|
);
|
|
|
|
typedef BOOL
|
|
(WINAPI *PCOMPAIBILITYCHECK)(
|
|
PCOMPAIBILITYCALLBACK CompatibilityCallback,
|
|
LPVOID Context
|
|
);
|
|
|
|
|
|
typedef DWORD
|
|
(WINAPI *PCOMPAIBILITYHAVEDISK)(
|
|
HWND hwndParent,
|
|
LPVOID SaveValue
|
|
);
|
|
|
|
#define COMPFLAG_USE_HAVEDISK 0x00000001
|
|
#define COMPFLAG_HIDE 0x00000002
|
|
#define COMPFLAG_STOPINSTALL 0x00000004
|
|
#define COMPFLAG_DELETE_INF 0x00000008
|
|
#define COMPFLAG_SKIPNT40CHECK 0x00000010
|
|
#define COMPFLAG_SKIPNT50CHECK 0x00000020
|
|
#define COMPFLAG_SKIPNT51CHECK 0x00000040
|
|
#define COMPFLAG_SKIPNTCHECK 0xfffffff0
|
|
|
|
|
|
typedef struct _COMPATIBILITY_CONTEXT {
|
|
DWORD Count;
|
|
HMODULE hModDll;
|
|
PCOMPAIBILITYHAVEDISK CompHaveDisk;
|
|
} COMPATIBILITY_CONTEXT, *PCOMPATIBILITY_CONTEXT;
|
|
|
|
|
|
BOOLEAN
|
|
CheckForFileVersion(
|
|
LPCTSTR FileName,
|
|
LPCTSTR FileVer
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|