home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / ib / setups / intrabld / data.z / WINREG.H < prev    next >
C/C++ Source or Header  |  1996-12-11  |  6KB  |  173 lines

  1. // Modified for IntraBuilder by Borland International, Inc. 
  2. // This contains constant and types only. 
  3.  
  4. //++ BUILD Version: 0001    // Increment this if a change has global effects
  5. //
  6. //Copyright (c) 1991-1995 Microsoft Corporation
  7. //
  8. //Module Name:
  9. //
  10. //    Winreg.h
  11. //
  12. //Abstract:
  13. //
  14. //    This module contains the function prototypes and constant, type and
  15. //    structure definitions for the Windows 32-Bit Registry API.
  16.  
  17. #ifndef _WINREG_
  18. #define _WINREG_
  19.  
  20. #include "windef.h"
  21.  
  22. //
  23. // Requested Key access mask type.
  24. //
  25.  
  26. #define REGSAM DWORD
  27.  
  28. //
  29. // Type definitions.
  30. //
  31.  
  32. #define HKEY  HANDLE
  33. #define PHKEY PHANDLE
  34.  
  35. //
  36. // Reserved Key Handles.
  37. //
  38.  
  39. #define HKEY_CLASSES_ROOT           (0x80000000 )
  40. #define HKEY_CURRENT_USER           (0x80000001 )
  41. #define HKEY_LOCAL_MACHINE          (0x80000002 )
  42. #define HKEY_USERS                  (0x80000003 )
  43. #define HKEY_PERFORMANCE_DATA       (0x80000004 )
  44. #define HKEY_CURRENT_CONFIG         (0x80000005 )
  45. #define HKEY_DYN_DATA               (0x80000006 )
  46.  
  47. #define PROVIDER_KEEPS_VALUE_LENGTH 0x1
  48.  
  49. #define PVALCONTEXT PSTRUCTURE
  50.  
  51. #define PVALUE STRUCTURE
  52. #define PPVALUEA PSTRUCTURE
  53.  
  54. #define QUERYHANDLER  NEARPROC
  55. #define PQUERYHANDLER FARPROC
  56.  
  57. #define REG_PROVIDER STRUCTURE
  58. #define PPROVIDER    PSTRUCTURE
  59.  
  60. #define VALENT  STRUCTURE
  61. #define PVALENT PSTRUCTURE
  62.  
  63. // From winnt.h
  64. //
  65. //  The following are masks for the predefined standard access types
  66. //
  67.  
  68. #define DELETE                           (0x00010000)
  69. #define READ_CONTROL                     (0x00020000)
  70. #define WRITE_DAC                        (0x00040000)
  71. #define WRITE_OWNER                      (0x00080000)
  72. #define SYNCHRONIZE                      (0x00100000)
  73.  
  74. #define STANDARD_RIGHTS_REQUIRED         (0x000F0000)
  75.  
  76. #define STANDARD_RIGHTS_READ             (READ_CONTRO)
  77. #define STANDARD_RIGHTS_WRITE            (READ_CONTRO)
  78. #define STANDARD_RIGHTS_EXECUTE          (READ_CONTRO)
  79.  
  80. #define STANDARD_RIGHTS_ALL              (0x001F0000)
  81.  
  82. #define SPECIFIC_RIGHTS_ALL              (0x0000FFFF)
  83.  
  84. //
  85. // Registry Specific Access Rights.
  86. //
  87.  
  88. #define KEY_QUERY_VALUE         (0x0001)
  89. #define KEY_SET_VALUE           (0x0002)
  90. #define KEY_CREATE_SUB_KEY      (0x0004)
  91. #define KEY_ENUMERATE_SUB_KEYS  (0x0008)
  92. #define KEY_NOTIFY              (0x0010)
  93. #define KEY_CREATE_LINK         (0x0020)
  94.  
  95.  
  96. #define KEY_READ                ((STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & (~SYNCHRONIZE))
  97. #define KEY_WRITE               ((STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (~SYNCHRONIZE))
  98. #define KEY_EXECUTE             ((KEY_READ) & (~SYNCHRONIZE))
  99. #define KEY_ALL_ACCESS          ((STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY | KEY_CREATE_LINK) & (~SYNCHRONIZE))
  100.  
  101. //
  102. // Open/Create Options
  103. //
  104.  
  105. #define REG_OPTION_RESERVED         (0x00000000)   // Parameter is reserved
  106. #define REG_OPTION_NON_VOLATILE     (0x00000000)   // Key is preserved
  107.                                                    // when system is rebooted
  108. #define REG_OPTION_VOLATILE         (0x00000001)   // Key is not preserved
  109.                                                    // when system is rebooted
  110. #define REG_OPTION_CREATE_LINK      (0x00000002)   // Created key is a
  111.                                                    // symbolic link
  112. #define REG_OPTION_BACKUP_RESTORE   (0x00000004)   // open for backup or restore
  113.                                                    // special access rules
  114.                                                    // privilege required
  115.  
  116. #define REG_LEGAL_OPTION            (REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK | REG_OPTION_BACKUP_RESTORE)
  117.  
  118. //
  119. // Key creation/open disposition
  120. //
  121.  
  122. #define REG_CREATED_NEW_KEY         (0x00000001)   // New Registry Key created
  123. #define REG_OPENED_EXISTING_KEY     (0x00000002)   // Existing Key opened
  124.  
  125. //
  126. // Predefined Value Types.
  127. //
  128.  
  129. #define REG_NONE                    ( 0 )   // No value type
  130. #define REG_SZ                      ( 1 )   // Unicode nul terminated string
  131. #define REG_EXPAND_SZ               ( 2 )   // Unicode nul terminated string
  132.                                             // (with environment variable references)
  133. #define REG_BINARY                  ( 3 )   // Free form binary
  134. #define REG_DWORD                   ( 4 )   // 32-bit number
  135. #define REG_DWORD_LITTLE_ENDIAN     ( 4 )   // 32-bit number (same as REG_DWORD)
  136. #define REG_DWORD_BIG_ENDIAN        ( 5 )   // 32-bit number
  137. #define REG_LINK                    ( 6 )   // Symbolic Link (unicode)
  138. #define REG_MULTI_SZ                ( 7 )   // Multiple Unicode strings
  139. #define REG_RESOURCE_LIST           ( 8 )   // Resource list in the resource map
  140. #define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )  // Resource list in the hardware description
  141. #define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
  142.  
  143. // From winerror.h
  144. //
  145. // MessageId: ERROR_SUCCESS
  146. //
  147. // MessageText:
  148. //
  149. //  The operation completed successfully.
  150. //
  151. #define ERROR_SUCCESS                    0
  152.  
  153. //
  154. // MessageId: ERROR_MORE_DATA
  155. //
  156. // MessageText:
  157. //
  158. //  More data is available.
  159. //
  160. #define ERROR_MORE_DATA                  234 
  161.  
  162. //
  163. // MessageId: ERROR_NO_MORE_ITEMS
  164. //
  165. // MessageText:
  166. //
  167. //  No more data is available.
  168. //
  169. #define ERROR_NO_MORE_ITEMS               259
  170.  
  171.  
  172. #endif // _WINREG_
  173.