Source code of Windows XP (NT5)
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.

146 lines
3.3 KiB

  1. /****************************************************************************
  2. Copyright (c) Microsoft Corporation 2000
  3. All rights reserved
  4. File: COMPAT.H
  5. ***************************************************************************/
  6. #ifndef _COMPAT_H_
  7. #define _COMPAT_H_
  8. INT_PTR CALLBACK
  9. CompatibilityDlgProc(
  10. HWND hDlg,
  11. UINT uMsg,
  12. WPARAM wParam,
  13. LPARAM lParam );
  14. INT_PTR CALLBACK
  15. StopServiceWrnDlgProc(
  16. HWND hDlg,
  17. UINT uMsg,
  18. WPARAM wParam,
  19. LPARAM lParam );
  20. INT_PTR CALLBACK
  21. DoStopServiceDlgProc(
  22. HWND hDlg,
  23. UINT uMsg,
  24. WPARAM wParam,
  25. LPARAM lParam );
  26. BOOL
  27. ProcessCompatibilityData(
  28. VOID
  29. );
  30. BOOL
  31. CleanupCompatibilityData(
  32. VOID
  33. );
  34. #define COMPFLAG_HIDE 0x00000001
  35. #define COMPFLAG_STOPINSTALL 0x00000002
  36. #define COMPFLAG_ALLOWNT5COMPAT 0x00000004
  37. #define COMPFLAG_SERVICERUNNING 0x00000008
  38. #define COMPFLAG_CHANGESTATE 0x00000010
  39. #define COMPFLAG_ALREADYSTOPPED 0x10000000
  40. #define COMP_ERR_DESC_NOT_UNICODE (ULONG)0xc00000001
  41. #define COMP_ERR_TEXTNAME_NOT_UNICODE (ULONG)0xc00000002
  42. #define COMP_ERR_HTMLNAME_NOT_UNICODE (ULONG)0xc00000003
  43. #define COMP_ERR_REGKEYNAME_NOT_UNICODE (ULONG)0xc00000004
  44. #define COMP_ERR_REGVALNAME_NOT_UNICODE (ULONG)0xc00000005
  45. #define COMP_ERR_REGVALNAME_MISSING (ULONG)0xc00000006
  46. #define COMP_ERR_REGVALDATA_MISSING (ULONG)0xc00000007
  47. #define COMP_ERR_TEXTNAME_MISSING (ULONG)0xc00000008
  48. #define COMP_ERR_DESC_MISSING (ULONG)0xc00000009
  49. #define COMP_ERR_INFNAME_NOT_UNICODE (ULONG)0xc0000000A
  50. #define COMP_ERR_INFSECTION_NOT_UNICODE (ULONG)0xc0000000B
  51. #define COMP_ERR_INFSECTION_MISSING (ULONG)0xc0000000C
  52. typedef struct _RIPREP_COMPATIBILITY_ENTRY {
  53. DWORD SizeOfStruct;
  54. LPTSTR Description;
  55. LPTSTR HtmlName;
  56. LPTSTR TextName;
  57. LPTSTR RegKeyName;
  58. LPTSTR RegValName;
  59. DWORD RegValDataSize;
  60. LPVOID RegValData;
  61. DWORD Flags;
  62. DWORD MsgResourceId;
  63. } RIPREP_COMPATIBILITY_ENTRY, *PRIPREP_COMPATIBILITY_ENTRY;
  64. typedef struct _RIPREP_COMPATIBILITY_DATA {
  65. //
  66. // general
  67. //
  68. LIST_ENTRY ListEntry;
  69. //
  70. // what type of entry
  71. //
  72. TCHAR Type;
  73. //
  74. // service-driver data
  75. //
  76. LPCTSTR ServiceName;
  77. //
  78. // registry data
  79. //
  80. LPCTSTR RegKey;
  81. LPCTSTR RegValue;
  82. LPCTSTR RegValueExpect;
  83. //
  84. // file data
  85. //
  86. LPCTSTR FileName;
  87. LPCTSTR FileVer;
  88. //
  89. // common
  90. //
  91. LPCTSTR Description;
  92. LPCTSTR HtmlName;
  93. LPCTSTR TextName;
  94. LPTSTR RegKeyName;
  95. LPTSTR RegValName;
  96. LPVOID RegValData;
  97. DWORD RegValDataSize;
  98. DWORD Flags;
  99. LPCTSTR InfName;
  100. LPCTSTR InfSection;
  101. DWORD MsgResourceId;
  102. HMODULE hModDll;
  103. } RIPREP_COMPATIBILITY_DATA, *PRIPREP_COMPATIBILITY_DATA;
  104. typedef struct _RIPREP_COMPATIBILITY_CONTEXT {
  105. DWORD SizeOfStruct;
  106. DWORD Count;
  107. HMODULE hModDll;
  108. DWORD Flags;
  109. } RIPREP_COMPATIBILITY_CONTEXT, *PRIPREP_COMPATIBILITY_CONTEXT;
  110. typedef BOOL
  111. (CALLBACK *PCOMPATIBILITYCALLBACK)(
  112. PRIPREP_COMPATIBILITY_ENTRY CompEntry,
  113. LPVOID Context
  114. );
  115. typedef BOOL
  116. (WINAPI *PCOMPATIBILITYCHECK)(
  117. PCOMPATIBILITYCALLBACK CompatibilityCallback,
  118. LPVOID Context
  119. );
  120. #endif // _COMPAT_H_