Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
2.6 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. comp.h
  5. Abstract:
  6. This file defines the data structures
  7. and interfaces for compatibility plug
  8. in dlls for winnt32.
  9. Author:
  10. Wesley Witt (wesw) 6-Mar-1998
  11. Environment:
  12. User Mode
  13. --*/
  14. #ifndef _WINNT32COMP_
  15. #define _WINNT32COMP_
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #define COMP_ERR_DESC_NOT_UNICODE (ULONG)0xc0000001
  20. #define COMP_ERR_TEXTNAME_NOT_UNICODE (ULONG)0xc0000002
  21. #define COMP_ERR_HTMLNAME_NOT_UNICODE (ULONG)0xc0000003
  22. #define COMP_ERR_REGKEYNAME_NOT_UNICODE (ULONG)0xc0000004
  23. #define COMP_ERR_REGVALNAME_NOT_UNICODE (ULONG)0xc0000005
  24. #define COMP_ERR_REGVALNAME_MISSING (ULONG)0xc0000006
  25. #define COMP_ERR_REGVALDATA_MISSING (ULONG)0xc0000007
  26. #define COMP_ERR_TEXTNAME_MISSING (ULONG)0xc0000008
  27. #define COMP_ERR_DESC_MISSING (ULONG)0xc0000009
  28. #define COMP_ERR_INFNAME_NOT_UNICODE (ULONG)0xc000000A
  29. #define COMP_ERR_INFSECTION_NOT_UNICODE (ULONG)0xc000000B
  30. #define COMP_ERR_INFSECTION_MISSING (ULONG)0xc000000C
  31. typedef struct _COMPATIBILITY_ENTRY {
  32. LPTSTR Description;
  33. LPTSTR HtmlName;
  34. LPTSTR TextName;
  35. LPTSTR RegKeyName;
  36. LPTSTR RegValName;
  37. DWORD RegValDataSize;
  38. LPVOID RegValData;
  39. LPVOID SaveValue;
  40. DWORD Flags;
  41. LPTSTR InfName;
  42. LPTSTR InfSection;
  43. } COMPATIBILITY_ENTRY, *PCOMPATIBILITY_ENTRY;
  44. typedef BOOL
  45. (CALLBACK *PCOMPAIBILITYCALLBACK)(
  46. PCOMPATIBILITY_ENTRY CompEntry,
  47. LPVOID Context
  48. );
  49. typedef BOOL
  50. (WINAPI *PCOMPAIBILITYCHECK)(
  51. PCOMPAIBILITYCALLBACK CompatibilityCallback,
  52. LPVOID Context
  53. );
  54. typedef DWORD
  55. (WINAPI *PCOMPAIBILITYHAVEDISK)(
  56. HWND hwndParent,
  57. LPVOID SaveValue
  58. );
  59. #define COMPFLAG_USE_HAVEDISK 0x00000001
  60. #define COMPFLAG_HIDE 0x00000002
  61. #define COMPFLAG_STOPINSTALL 0x00000004
  62. #define COMPFLAG_DELETE_INF 0x00000008
  63. #define COMPFLAG_SKIPNT40CHECK 0x00000010
  64. #define COMPFLAG_SKIPNT50CHECK 0x00000020
  65. #define COMPFLAG_SKIPNT51CHECK 0x00000040
  66. #define COMPFLAG_SKIPNT52CHECK 0x00000080
  67. #define COMPFLAG_SKIPNTCHECK 0xfffffff0
  68. typedef struct _COMPATIBILITY_CONTEXT {
  69. DWORD Count;
  70. HMODULE hModDll;
  71. PCOMPAIBILITYHAVEDISK CompHaveDisk;
  72. } COMPATIBILITY_CONTEXT, *PCOMPATIBILITY_CONTEXT;
  73. BOOLEAN
  74. CheckForFileVersion(
  75. LPCTSTR FileName,
  76. LPCTSTR FileVer
  77. );
  78. #ifdef __cplusplus
  79. }
  80. #endif
  81. #endif