home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / packages / win32ada / data.z / win32-winreg.ads < prev    next >
Encoding:
Text File  |  1996-03-15  |  34.0 KB  |  635 lines

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-winreg.ads,v $ 
  2. -- $Revision: 1.10 $ $Date: 96/03/15 12:58:03 $ $Author: stm $ 
  3. -- See end of file for Copyright (c) information.
  4.  
  5. with Ada.Unchecked_Conversion;
  6. with Win32.Winbase;
  7. with Win32.Winnt;
  8.  
  9. package Win32.Winreg is
  10.  
  11.     subtype HKEY is Win32.Winnt.HANDLE;                    -- winreg.h:37
  12.  
  13.     HKEY_CLASSES_ROOT        : constant  HKEY;              -- winreg.h:44
  14.     HKEY_CURRENT_USER        : constant  HKEY;              -- winreg.h:45
  15.     HKEY_LOCAL_MACHINE       : constant  HKEY;              -- winreg.h:46
  16.     HKEY_USERS               : constant  HKEY;              -- winreg.h:47
  17.     HKEY_PERFORMANCE_DATA    : constant  HKEY;              -- winreg.h:48
  18.     HKEY_PERFORMANCE_TEXT    : constant  HKEY;              -- winreg.h:49
  19.     HKEY_PERFORMANCE_NLSTEXT : constant  HKEY;              -- winreg.h:50
  20.     WIN31_CLASS              : constant  Win32.LPSTR := null;
  21.                                                             -- winreg.h:57
  22.  
  23.     type REGSAM is new Win32.Winnt.ACCESS_MASK;             -- winreg.h:31
  24.  
  25.     type PHKEY is access all HKEY;                          -- winreg.h:38
  26.  
  27.     function RegCloseKey(hKey: Win32.Winreg.HKEY) return Win32.LONG;
  28.                                                             -- winreg.h:67
  29.  
  30.     function RegConnectRegistryA(lpMachineName: Win32.LPSTR;
  31.                                  hKey         : Win32.Winreg.HKEY;
  32.                                  phkResult    : PHKEY)
  33.                                                 return Win32.LONG;
  34.                                                             -- winreg.h:74
  35.  
  36.     function RegConnectRegistry(lpMachineName: Win32.LPSTR;
  37.                                 hKey         : Win32.Winreg.HKEY;
  38.                                 phkResult    : PHKEY)
  39.                                                return Win32.LONG
  40.                                                renames RegConnectRegistryA;
  41.                                                             -- winreg.h:74
  42.  
  43.     function RegConnectRegistryW(lpMachineName: Win32.LPWSTR;
  44.                                  hKey         : Win32.Winreg.HKEY;
  45.                                  phkResult    : PHKEY)
  46.                                                 return Win32.LONG;
  47.                                                             -- winreg.h:82
  48.  
  49.     function RegCreateKeyA(hKey     : Win32.Winreg.HKEY;
  50.                            lpSubKey : Win32.LPCSTR;
  51.                            phkResult: PHKEY)
  52.                                       return Win32.LONG;    -- winreg.h:96
  53.  
  54.     function RegCreateKey(hKey     : Win32.Winreg.HKEY;
  55.                           lpSubKey : Win32.LPCSTR;
  56.                           phkResult: PHKEY)
  57.                                      return Win32.LONG
  58.                                      renames RegCreateKeyA; -- winreg.h:96
  59.  
  60.     function RegCreateKeyW(hKey     : Win32.Winreg.HKEY;
  61.                            lpSubKey : Win32.LPCWSTR;
  62.                            phkResult: PHKEY)
  63.                                       return Win32.LONG;    -- winreg.h:104
  64.  
  65.     function RegCreateKeyExA(
  66.         hKey                : Win32.Winreg.HKEY;
  67.         lpSubKey            : Win32.LPCSTR;
  68.         Reserved            : Win32.DWORD;
  69.         lpClass             : Win32.LPSTR;
  70.         dwOptions           : Win32.DWORD;
  71.         samDesired          : REGSAM;
  72.         lpSecurityAttributes: Win32.Winbase.LPSECURITY_ATTRIBUTES;
  73.         phkResult           : PHKEY;
  74.         lpdwDisposition     : Win32.LPDWORD)
  75.                               return Win32.LONG;            -- winreg.h:118
  76.  
  77.     function RegCreateKeyEx(
  78.         hKey                : Win32.Winreg.HKEY;
  79.         lpSubKey            : Win32.LPCSTR;
  80.         Reserved            : Win32.DWORD;
  81.         lpClass             : Win32.LPSTR;
  82.         dwOptions           : Win32.DWORD;
  83.         samDesired          : REGSAM;
  84.         lpSecurityAttributes: Win32.Winbase.LPSECURITY_ATTRIBUTES;
  85.         phkResult           : PHKEY;
  86.         lpdwDisposition     : Win32.LPDWORD)
  87.                               return Win32.LONG
  88.                               renames RegCreateKeyExA;      -- winreg.h:118
  89.  
  90.     function RegCreateKeyExW(
  91.         hKey                : Win32.Winreg.HKEY;
  92.         lpSubKey            : Win32.LPCWSTR;
  93.         Reserved            : Win32.DWORD;
  94.         lpClass             : Win32.LPWSTR;
  95.         dwOptions           : Win32.DWORD;
  96.         samDesired          : REGSAM;
  97.         lpSecurityAttributes: Win32.Winbase.LPSECURITY_ATTRIBUTES;
  98.         phkResult           : PHKEY;
  99.         lpdwDisposition     : Win32.LPDWORD)
  100.                               return Win32.LONG;            -- winreg.h:132
  101.  
  102.     function RegDeleteKeyA(hKey    : Win32.Winreg.HKEY;
  103.                            lpSubKey: Win32.LPCSTR)
  104.                                      return Win32.LONG;     -- winreg.h:152
  105.  
  106.     function RegDeleteKey(hKey    : Win32.Winreg.HKEY;
  107.                           lpSubKey: Win32.LPCSTR)
  108.                                     return Win32.LONG
  109.                                     renames RegDeleteKeyA;  -- winreg.h:152
  110.  
  111.     function RegDeleteKeyW(hKey    : Win32.Winreg.HKEY;
  112.                            lpSubKey: Win32.LPCWSTR)
  113.                                      return Win32.LONG;     -- winreg.h:159
  114.  
  115.     function RegDeleteValueA(hKey       : Win32.Winreg.HKEY;
  116.                              lpValueName: Win32.LPSTR)
  117.                                           return Win32.LONG;-- winreg.h:172
  118.  
  119.     function RegDeleteValue(hKey       : Win32.Winreg.HKEY;
  120.                             lpValueName: Win32.LPSTR)
  121.                                          return Win32.LONG
  122.                                          renames RegDeleteValueA;
  123.                                                             -- winreg.h:172
  124.  
  125.     function RegDeleteValueW(hKey       : Win32.Winreg.HKEY;
  126.                              lpValueName: Win32.LPWSTR)
  127.                                           return Win32.LONG;-- winreg.h:179
  128.  
  129.     function RegEnumKeyA(hKey   : Win32.Winreg.HKEY;
  130.                          dwIndex: Win32.DWORD;
  131.                          lpName : Win32.LPSTR;
  132.                          cbName : Win32.DWORD)
  133.                                   return Win32.LONG;        -- winreg.h:192
  134.  
  135.     function RegEnumKey(hKey   : Win32.Winreg.HKEY;
  136.                         dwIndex: Win32.DWORD;
  137.                         lpName : Win32.LPSTR;
  138.                         cbName : Win32.DWORD)
  139.                                  return Win32.LONG
  140.                                  renames RegEnumKeyA;       -- winreg.h:192
  141.  
  142.     function RegEnumKeyW(hKey   : Win32.Winreg.HKEY;
  143.                          dwIndex: Win32.DWORD;
  144.                          lpName : Win32.LPWSTR;
  145.                          cbName : Win32.DWORD)
  146.                                   return Win32.LONG;        -- winreg.h:201
  147.  
  148.     function RegEnumKeyExA(hKey             : Win32.Winreg.HKEY;
  149.                            dwIndex          : Win32.DWORD;
  150.                            lpName           : Win32.LPSTR;
  151.                            lpcbName         : Win32.LPDWORD;
  152.                            lpReserved       : Win32.LPDWORD;
  153.                            lpClass          : Win32.LPSTR;
  154.                            lpcbClass        : Win32.LPDWORD;
  155.                            lpftLastWriteTime: Win32.Winbase.PFILETIME)
  156.                                               return Win32.LONG;
  157.                                                             -- winreg.h:216
  158.  
  159.     function RegEnumKeyEx(hKey             : Win32.Winreg.HKEY;
  160.                           dwIndex          : Win32.DWORD;
  161.                           lpName           : Win32.LPSTR;
  162.                           lpcbName         : Win32.LPDWORD;
  163.                           lpReserved       : Win32.LPDWORD;
  164.                           lpClass          : Win32.LPSTR;
  165.                           lpcbClass        : Win32.LPDWORD;
  166.                           lpftLastWriteTime: Win32.Winbase.PFILETIME)
  167.                                              return Win32.LONG
  168.                                              renames RegEnumKeyExA;
  169.                                                             -- winreg.h:216
  170.  
  171.     function RegEnumKeyExW(hKey             : Win32.Winreg.HKEY;
  172.                            dwIndex          : Win32.DWORD;
  173.                            lpName           : Win32.LPWSTR;
  174.                            lpcbName         : Win32.LPDWORD;
  175.                            lpReserved       : Win32.LPDWORD;
  176.                            lpClass          : Win32.LPWSTR;
  177.                            lpcbClass        : Win32.LPDWORD;
  178.                            lpftLastWriteTime: Win32.Winbase.PFILETIME)
  179.                                               return Win32.LONG;
  180.                                                             -- winreg.h:229
  181.  
  182.     function RegEnumValueA(hKey         : Win32.Winreg.HKEY;
  183.                            dwIndex      : Win32.DWORD;
  184.                            lpValueName  : Win32.LPSTR;
  185.                            lpcbValueName: Win32.LPDWORD;
  186.                            lpReserved   : Win32.LPDWORD;
  187.                            lpType       : Win32.LPDWORD;
  188.                            lpData       : Win32.LPBYTE;
  189.                            lpcbData     : Win32.LPDWORD)
  190.                                           return Win32.LONG;-- winreg.h:248
  191.  
  192.     function RegEnumValue(hKey         : Win32.Winreg.HKEY;
  193.                           dwIndex      : Win32.DWORD;
  194.                           lpValueName  : Win32.LPSTR;
  195.                           lpcbValueName: Win32.LPDWORD;
  196.                           lpReserved   : Win32.LPDWORD;
  197.                           lpType       : Win32.LPDWORD;
  198.                           lpData       : Win32.LPBYTE;
  199.                           lpcbData     : Win32.LPDWORD)
  200.                                          return Win32.LONG
  201.                                          renames RegEnumValueA;
  202.                                                             -- winreg.h:248
  203.  
  204.     function RegEnumValueW(hKey         : Win32.Winreg.HKEY;
  205.                            dwIndex      : Win32.DWORD;
  206.                            lpValueName  : Win32.LPWSTR;
  207.                            lpcbValueName: Win32.LPDWORD;
  208.                            lpReserved   : Win32.LPDWORD;
  209.                            lpType       : Win32.LPDWORD;
  210.                            lpData       : Win32.LPBYTE;
  211.                            lpcbData     : Win32.LPDWORD)
  212.                                           return Win32.LONG;-- winreg.h:261
  213.  
  214.     function RegFlushKey(hKey: Win32.Winreg.HKEY) return Win32.LONG;
  215.                                                             -- winreg.h:280
  216.  
  217.     function RegGetKeySecurity(
  218.         hKey                  : Win32.Winreg.HKEY;
  219.         SecurityInformation   : Win32.Winnt.SECURITY_INFORMATION;
  220.         pSecurityDescriptor   : Win32.Winnt.PSECURITY_DESCRIPTOR;
  221.         lpcbSecurityDescriptor: Win32.LPDWORD)
  222.                                 return Win32.LONG;          -- winreg.h:287
  223.  
  224.     function RegLoadKeyA(hKey    : Win32.Winreg.HKEY;
  225.                          lpSubKey: Win32.LPCSTR;
  226.                          lpFile  : Win32.LPCSTR)
  227.                                    return Win32.LONG;       -- winreg.h:297
  228.  
  229.     function RegLoadKey(hKey    : Win32.Winreg.HKEY;
  230.                         lpSubKey: Win32.LPCSTR;
  231.                         lpFile  : Win32.LPCSTR)
  232.                                   return Win32.LONG
  233.                                   renames RegLoadKeyA;      -- winreg.h:297
  234.  
  235.     function RegLoadKeyW(hKey    : Win32.Winreg.HKEY;
  236.                          lpSubKey: Win32.LPCWSTR;
  237.                          lpFile  : Win32.LPCWSTR)
  238.                                    return Win32.LONG;       -- winreg.h:305
  239.  
  240.     function RegNotifyChangeKeyValue(hKey          : Win32.Winreg.HKEY;
  241.                                      bWatchSubtree : Win32.BOOL;
  242.                                      dwNotifyFilter: Win32.DWORD;
  243.                                      hEvent        : Win32.Winnt.HANDLE;
  244.                                      fAsynchronus  : Win32.BOOL)
  245.                                                      return Win32.LONG;
  246.                                                             -- winreg.h:319
  247.  
  248.     function RegOpenKeyA(hKey     : Win32.Winreg.HKEY;
  249.                          lpSubKey : Win32.LPCSTR;
  250.                          phkResult: PHKEY)
  251.                                     return Win32.LONG;      -- winreg.h:330
  252.  
  253.     function RegOpenKey(hKey     : Win32.Winreg.HKEY;
  254.                         lpSubKey : Win32.LPCSTR;
  255.                         phkResult: PHKEY)
  256.                                    return Win32.LONG
  257.                                    renames RegOpenKeyA;     -- winreg.h:330
  258.  
  259.     function RegOpenKeyW(hKey     : Win32.Winreg.HKEY;
  260.                          lpSubKey : Win32.LPCWSTR;
  261.                          phkResult: PHKEY)
  262.                                     return Win32.LONG;      -- winreg.h:338
  263.  
  264.     function RegOpenKeyExA(hKey      : Win32.Winreg.HKEY;
  265.                            lpSubKey  : Win32.LPCSTR;
  266.                            ulOptions : Win32.DWORD;
  267.                            samDesired: REGSAM;
  268.                            phkResult : PHKEY)
  269.                                        return Win32.LONG;   -- winreg.h:352
  270.  
  271.     function RegOpenKeyEx(hKey      : Win32.Winreg.HKEY;
  272.                           lpSubKey  : Win32.LPCSTR;
  273.                           ulOptions : Win32.DWORD;
  274.                           samDesired: REGSAM;
  275.                           phkResult : PHKEY)
  276.                                       return Win32.LONG
  277.                                       renames RegOpenKeyExA;-- winreg.h:352
  278.  
  279.     function RegOpenKeyExW(hKey      : Win32.Winreg.HKEY;
  280.                            lpSubKey  : Win32.LPCWSTR;
  281.                            ulOptions : Win32.DWORD;
  282.                            samDesired: REGSAM;
  283.                            phkResult : PHKEY)
  284.                                        return Win32.LONG;   -- winreg.h:362
  285.  
  286.     function RegQueryInfoKeyA(hKey                  : Win32.Winreg.HKEY;
  287.                               lpClass               : Win32.LPSTR;
  288.                               lpcbClass             : Win32.LPDWORD;
  289.                               lpReserved            : Win32.LPDWORD;
  290.                               lpcSubKeys            : Win32.LPDWORD;
  291.                               lpcbMaxSubKeyLen      : Win32.LPDWORD;
  292.                               lpcbMaxClassLen       : Win32.LPDWORD;
  293.                               lpcValues             : Win32.LPDWORD;
  294.                               lpcbMaxValueNameLen   : Win32.LPDWORD;
  295.                               lpcbMaxValueLen       : Win32.LPDWORD;
  296.                               lpcbSecurityDescriptor: Win32.LPDWORD;
  297.                               lpftLastWriteTime     : Win32.Winbase.PFILETIME)
  298.                                                       return Win32.LONG;
  299.                                                             -- winreg.h:378
  300.  
  301.     function RegQueryInfoKey(hKey                  : Win32.Winreg.HKEY;
  302.                              lpClass               : Win32.LPSTR;
  303.                              lpcbClass             : Win32.LPDWORD;
  304.                              lpReserved            : Win32.LPDWORD;
  305.                              lpcSubKeys            : Win32.LPDWORD;
  306.                              lpcbMaxSubKeyLen      : Win32.LPDWORD;
  307.                              lpcbMaxClassLen       : Win32.LPDWORD;
  308.                              lpcValues             : Win32.LPDWORD;
  309.                              lpcbMaxValueNameLen   : Win32.LPDWORD;
  310.                              lpcbMaxValueLen       : Win32.LPDWORD;
  311.                              lpcbSecurityDescriptor: Win32.LPDWORD;
  312.                              lpftLastWriteTime     : Win32.Winbase.PFILETIME)
  313.                                                      return Win32.LONG
  314.                                                      renames RegQueryInfoKeyA;
  315.                                                             -- winreg.h:378
  316.  
  317.     function RegQueryInfoKeyW(hKey                  : Win32.Winreg.HKEY;
  318.                               lpClass               : Win32.LPWSTR;
  319.                               lpcbClass             : Win32.LPDWORD;
  320.                               lpReserved            : Win32.LPDWORD;
  321.                               lpcSubKeys            : Win32.LPDWORD;
  322.                               lpcbMaxSubKeyLen      : Win32.LPDWORD;
  323.                               lpcbMaxClassLen       : Win32.LPDWORD;
  324.                               lpcValues             : Win32.LPDWORD;
  325.                               lpcbMaxValueNameLen   : Win32.LPDWORD;
  326.                               lpcbMaxValueLen       : Win32.LPDWORD;
  327.                               lpcbSecurityDescriptor: Win32.LPDWORD;
  328.                               lpftLastWriteTime     : Win32.Winbase.PFILETIME)
  329.                                                       return Win32.LONG;
  330.                                                             -- winreg.h:395
  331.  
  332.     function RegQueryValueA(hKey     : Win32.Winreg.HKEY;
  333.                             lpSubKey : Win32.LPCSTR;
  334.                             lpValue  : Win32.LPSTR;
  335.                             lpcbValue: Win32.PLONG)
  336.                                        return Win32.LONG;   -- winreg.h:418
  337.  
  338.     function RegQueryValue(hKey     : Win32.Winreg.HKEY;
  339.                            lpSubKey : Win32.LPCSTR;
  340.                            lpValue  : Win32.LPSTR;
  341.                            lpcbValue: Win32.PLONG)
  342.                                       return Win32.LONG
  343.                                       renames RegQueryValueA;
  344.                                                             -- winreg.h:418
  345.  
  346.     function RegQueryValueW(hKey     : Win32.Winreg.HKEY;
  347.                             lpSubKey : Win32.LPCWSTR;
  348.                             lpValue  : Win32.LPWSTR;
  349.                             lpcbValue: Win32.PLONG)
  350.                                        return Win32.LONG;   -- winreg.h:427
  351.  
  352.     function RegQueryValueExA(hKey       : Win32.Winreg.HKEY;
  353.                               lpValueName: Win32.LPSTR;
  354.                               lpReserved : Win32.LPDWORD;
  355.                               lpType     : Win32.LPDWORD;
  356.                               lpData     : Win32.LPBYTE;
  357.                               lpcbData   : Win32.LPDWORD)
  358.                                            return Win32.LONG;
  359.                                                             -- winreg.h:442
  360.  
  361.     function RegQueryValueEx(hKey       : Win32.Winreg.HKEY;
  362.                              lpValueName: Win32.LPSTR;
  363.                              lpReserved : Win32.LPDWORD;
  364.                              lpType     : Win32.LPDWORD;
  365.                              lpData     : Win32.LPBYTE;
  366.                              lpcbData   : Win32.LPDWORD)
  367.                                           return Win32.LONG
  368.                                           renames RegQueryValueExA;
  369.                                                             -- winreg.h:442
  370.  
  371.     function RegQueryValueExW(hKey       : Win32.Winreg.HKEY;
  372.                               lpValueName: Win32.LPWSTR;
  373.                               lpReserved : Win32.LPDWORD;
  374.                               lpType     : Win32.LPDWORD;
  375.                               lpData     : Win32.LPBYTE;
  376.                               lpcbData   : Win32.LPDWORD)
  377.                                            return Win32.LONG;
  378.                                                             -- winreg.h:453
  379.  
  380.     function RegReplaceKeyA(hKey     : Win32.Winreg.HKEY;
  381.                             lpSubKey : Win32.LPCSTR;
  382.                             lpNewFile: Win32.LPCSTR;
  383.                             lpOldFile: Win32.LPCSTR)
  384.                                        return Win32.LONG;   -- winreg.h:470
  385.  
  386.     function RegReplaceKey(hKey     : Win32.Winreg.HKEY;
  387.                            lpSubKey : Win32.LPCSTR;
  388.                            lpNewFile: Win32.LPCSTR;
  389.                            lpOldFile: Win32.LPCSTR)
  390.                                       return Win32.LONG
  391.                                       renames RegReplaceKeyA;
  392.                                                             -- winreg.h:470
  393.  
  394.     function RegReplaceKeyW(hKey     : Win32.Winreg.HKEY;
  395.                             lpSubKey : Win32.LPCWSTR;
  396.                             lpNewFile: Win32.LPCWSTR;
  397.                             lpOldFile: Win32.LPCWSTR)
  398.                                        return Win32.LONG;   -- winreg.h:479
  399.  
  400.     function RegRestoreKeyA(hKey   : Win32.Winreg.HKEY;
  401.                             lpFile : Win32.LPCSTR;
  402.                             dwFlags: Win32.DWORD)
  403.                                      return Win32.LONG;     -- winreg.h:494
  404.  
  405.     function RegRestoreKey(hKey   : Win32.Winreg.HKEY;
  406.                            lpFile : Win32.LPCSTR;
  407.                            dwFlags: Win32.DWORD)
  408.                                     return Win32.LONG
  409.                                     renames RegRestoreKeyA; -- winreg.h:494
  410.  
  411.     function RegRestoreKeyW(hKey   : Win32.Winreg.HKEY;
  412.                             lpFile : Win32.LPCWSTR;
  413.                             dwFlags: Win32.DWORD)
  414.                                      return Win32.LONG;     -- winreg.h:502
  415.  
  416.     function RegSaveKeyA(
  417.         hKey                : Win32.Winreg.HKEY;
  418.         lpFile              : Win32.LPCSTR;
  419.         lpSecurityAttributes: Win32.Winbase.LPSECURITY_ATTRIBUTES)
  420.                               return Win32.LONG;            -- winreg.h:516
  421.  
  422.     function RegSaveKey(
  423.         hKey                : Win32.Winreg.HKEY;
  424.         lpFile              : Win32.LPCSTR;
  425.         lpSecurityAttributes: Win32.Winbase.LPSECURITY_ATTRIBUTES)
  426.                               return Win32.LONG
  427.                               renames RegSaveKeyA;          -- winreg.h:516
  428.  
  429.     function RegSaveKeyW(
  430.         hKey                : Win32.Winreg.HKEY;
  431.         lpFile              : Win32.LPCWSTR;
  432.         lpSecurityAttributes: Win32.Winbase.LPSECURITY_ATTRIBUTES)
  433.                               return Win32.LONG;            -- winreg.h:524
  434.  
  435.     function RegSetKeySecurity(
  436.         hKey               : Win32.Winreg.HKEY;
  437.         SecurityInformation: Win32.Winnt.SECURITY_INFORMATION;
  438.         pSecurityDescriptor: Win32.Winnt.PSECURITY_DESCRIPTOR)
  439.                              return Win32.LONG;             -- winreg.h:538
  440.  
  441.     function RegSetValueA(hKey    : Win32.Winreg.HKEY;
  442.                           lpSubKey: Win32.LPCSTR;
  443.                           dwType  : Win32.DWORD;
  444.                           lpData  : Win32.LPCSTR;
  445.                           cbData  : Win32.DWORD)
  446.                                     return Win32.LONG;      -- winreg.h:547
  447.  
  448.     function RegSetValue(hKey    : Win32.Winreg.HKEY;
  449.                          lpSubKey: Win32.LPCSTR;
  450.                          dwType  : Win32.DWORD;
  451.                          lpData  : Win32.LPCSTR;
  452.                          cbData  : Win32.DWORD)
  453.                                    return Win32.LONG
  454.                                    renames RegSetValueA;    -- winreg.h:547
  455.  
  456.     function RegSetValueW(hKey    : Win32.Winreg.HKEY;
  457.                           lpSubKey: Win32.LPCWSTR;
  458.                           dwType  : Win32.DWORD;
  459.                           lpData  : Win32.LPCWSTR;
  460.                           cbData  : Win32.DWORD)
  461.                                     return Win32.LONG;      -- winreg.h:557
  462.  
  463.     function RegSetValueExA(hKey       : Win32.Winreg.HKEY;
  464.                             lpValueName: Win32.LPCSTR;
  465.                             Reserved   : Win32.DWORD;
  466.                             dwType     : Win32.DWORD;
  467.                             lpData     : Win32.PCBYTE;
  468.                             cbData     : Win32.DWORD)
  469.                                          return Win32.LONG; -- winreg.h:574
  470.  
  471.     function RegSetValueEx(hKey       : Win32.Winreg.HKEY;
  472.                            lpValueName: Win32.LPCSTR;
  473.                            Reserved   : Win32.DWORD;
  474.                            dwType     : Win32.DWORD;
  475.                            lpData     : Win32.PCBYTE;
  476.                            cbData     : Win32.DWORD)
  477.                                         return Win32.LONG
  478.                                         renames RegSetValueExA;
  479.                                                             -- winreg.h:574
  480.  
  481.     function RegSetValueExW(hKey       : Win32.Winreg.HKEY;
  482.                             lpValueName: Win32.LPCWSTR;
  483.                             Reserved   : Win32.DWORD;
  484.                             dwType     : Win32.DWORD;
  485.                             lpData     : Win32.PCBYTE;
  486.                             cbData     : Win32.DWORD)
  487.                                          return Win32.LONG; -- winreg.h:585
  488.  
  489.     function RegUnLoadKeyA(hKey    : Win32.Winreg.HKEY;
  490.                            lpSubKey: Win32.LPCSTR)
  491.                                      return Win32.LONG;     -- winreg.h:602
  492.  
  493.     function RegUnLoadKey(hKey    : Win32.Winreg.HKEY;
  494.                           lpSubKey: Win32.LPCSTR)
  495.                                     return Win32.LONG
  496.                                     renames RegUnLoadKeyA;  -- winreg.h:602
  497.  
  498.     function RegUnLoadKeyW(hKey    : Win32.Winreg.HKEY;
  499.                            lpSubKey: Win32.LPCWSTR)
  500.                                      return Win32.LONG;     -- winreg.h:609
  501.  
  502.     function InitiateSystemShutdownA(lpMachineName       : Win32.LPSTR;
  503.                                      lpMessage           : Win32.LPSTR;
  504.                                      dwTimeout           : Win32.DWORD;
  505.                                      bForceAppsClosed    : Win32.BOOL;
  506.                                      bRebootAfterShutdown: Win32.BOOL)
  507.                                                            return Win32.BOOL;
  508.                                                             -- winreg.h:626
  509.  
  510.     function InitiateSystemShutdown(
  511.         lpMachineName       : Win32.LPSTR;
  512.         lpMessage           : Win32.LPSTR;
  513.         dwTimeout           : Win32.DWORD;
  514.         bForceAppsClosed    : Win32.BOOL;
  515.         bRebootAfterShutdown: Win32.BOOL)
  516.                               return Win32.BOOL
  517.                               renames InitiateSystemShutdownA;
  518.                                                             -- winreg.h:626
  519.  
  520.     function InitiateSystemShutdownW(lpMachineName       : Win32.LPWSTR;
  521.                                      lpMessage           : Win32.LPWSTR;
  522.                                      dwTimeout           : Win32.DWORD;
  523.                                      bForceAppsClosed    : Win32.BOOL;
  524.                                      bRebootAfterShutdown: Win32.BOOL)
  525.                                                            return Win32.BOOL;
  526.                                                             -- winreg.h:636
  527.  
  528.     function AbortSystemShutdownA(lpMachineName: Win32.LPSTR) 
  529.         return Win32.BOOL;                                  -- winreg.h:653
  530.  
  531.     function AbortSystemShutdown(lpMachineName: Win32.LPSTR) return Win32.BOOL
  532.         renames AbortSystemShutdownA;                       -- winreg.h:653
  533.  
  534.     function AbortSystemShutdownW(lpMachineName: Win32.LPWSTR) 
  535.         return Win32.BOOL;                                  -- winreg.h:659
  536.  
  537. private
  538.  
  539.     function To_Hkey is new Ada.Unchecked_Conversion (Win32.DWORD, HKEY);
  540.  
  541.     HKEY_CLASSES_ROOT        : constant  HKEY  := To_Hkey(16#80000000#);
  542.                                                             -- winreg.h:44
  543.     HKEY_CURRENT_USER        : constant  HKEY  := To_Hkey(16#80000001#);
  544.                                                             -- winreg.h:45
  545.     HKEY_LOCAL_MACHINE       : constant  HKEY  := To_Hkey(16#80000002#);
  546.                                                             -- winreg.h:46
  547.     HKEY_USERS               : constant  HKEY  := To_Hkey(16#80000003#);
  548.                                                             -- winreg.h:47
  549.     HKEY_PERFORMANCE_DATA    : constant  HKEY  := To_Hkey(16#80000004#);
  550.                                                             -- winreg.h:48
  551.     HKEY_PERFORMANCE_TEXT    : constant  HKEY  := To_Hkey(16#80000050#);
  552.                                                             -- winreg.h:49
  553.     HKEY_PERFORMANCE_NLSTEXT : constant  HKEY  := To_Hkey(16#80000060#);
  554.                                                             -- winreg.h:50
  555.  
  556.     pragma Import(Stdcall, RegCloseKey, "RegCloseKey");           -- winreg.h:67
  557.     pragma Import(Stdcall, RegConnectRegistryA, "RegConnectRegistryA");
  558.                                                             -- winreg.h:74
  559.     pragma Import(Stdcall, RegConnectRegistryW, "RegConnectRegistryW");
  560.                                                             -- winreg.h:82
  561.     pragma Import(Stdcall, RegCreateKeyA, "RegCreateKeyA");       -- winreg.h:96
  562.     pragma Import(Stdcall, RegCreateKeyW, "RegCreateKeyW");       -- winreg.h:104
  563.     pragma Import(Stdcall, RegCreateKeyExA, "RegCreateKeyExA");   -- winreg.h:118
  564.     pragma Import(Stdcall, RegCreateKeyExW, "RegCreateKeyExW");   -- winreg.h:132
  565.     pragma Import(Stdcall, RegDeleteKeyA, "RegDeleteKeyA");       -- winreg.h:152
  566.     pragma Import(Stdcall, RegDeleteKeyW, "RegDeleteKeyW");       -- winreg.h:159
  567.     pragma Import(Stdcall, RegDeleteValueA, "RegDeleteValueA");   -- winreg.h:172
  568.     pragma Import(Stdcall, RegDeleteValueW, "RegDeleteValueW");   -- winreg.h:179
  569.     pragma Import(Stdcall, RegEnumKeyA, "RegEnumKeyA");           -- winreg.h:192
  570.     pragma Import(Stdcall, RegEnumKeyW, "RegEnumKeyW");           -- winreg.h:201
  571.     pragma Import(Stdcall, RegEnumKeyExA, "RegEnumKeyExA");       -- winreg.h:216
  572.     pragma Import(Stdcall, RegEnumKeyExW, "RegEnumKeyExW");       -- winreg.h:229
  573.     pragma Import(Stdcall, RegEnumValueA, "RegEnumValueA");       -- winreg.h:248
  574.     pragma Import(Stdcall, RegEnumValueW, "RegEnumValueW");       -- winreg.h:261
  575.     pragma Import(Stdcall, RegFlushKey, "RegFlushKey");           -- winreg.h:280
  576.     pragma Import(Stdcall, RegGetKeySecurity, "RegGetKeySecurity");
  577.                                                             -- winreg.h:287
  578.     pragma Import(Stdcall, RegLoadKeyA, "RegLoadKeyA");           -- winreg.h:297
  579.     pragma Import(Stdcall, RegLoadKeyW, "RegLoadKeyW");           -- winreg.h:305
  580.     pragma Import(Stdcall, RegNotifyChangeKeyValue, "RegNotifyChangeKeyValue");
  581.                                                             -- winreg.h:319
  582.     pragma Import(Stdcall, RegOpenKeyA, "RegOpenKeyA");           -- winreg.h:330
  583.     pragma Import(Stdcall, RegOpenKeyW, "RegOpenKeyW");           -- winreg.h:338
  584.     pragma Import(Stdcall, RegOpenKeyExA, "RegOpenKeyExA");       -- winreg.h:352
  585.     pragma Import(Stdcall, RegOpenKeyExW, "RegOpenKeyExW");       -- winreg.h:362
  586.     pragma Import(Stdcall, RegQueryInfoKeyA, "RegQueryInfoKeyA"); -- winreg.h:378
  587.     pragma Import(Stdcall, RegQueryInfoKeyW, "RegQueryInfoKeyW"); -- winreg.h:395
  588.     pragma Import(Stdcall, RegQueryValueA, "RegQueryValueA");     -- winreg.h:418
  589.     pragma Import(Stdcall, RegQueryValueW, "RegQueryValueW");     -- winreg.h:427
  590.     pragma Import(Stdcall, RegQueryValueExA, "RegQueryValueExA"); -- winreg.h:442
  591.     pragma Import(Stdcall, RegQueryValueExW, "RegQueryValueExW"); -- winreg.h:453
  592.     pragma Import(Stdcall, RegReplaceKeyA, "RegReplaceKeyA");     -- winreg.h:470
  593.     pragma Import(Stdcall, RegReplaceKeyW, "RegReplaceKeyW");     -- winreg.h:479
  594.     pragma Import(Stdcall, RegRestoreKeyA, "RegRestoreKeyA");     -- winreg.h:494
  595.     pragma Import(Stdcall, RegRestoreKeyW, "RegRestoreKeyW");     -- winreg.h:502
  596.     pragma Import(Stdcall, RegSaveKeyA, "RegSaveKeyA");           -- winreg.h:516
  597.     pragma Import(Stdcall, RegSaveKeyW, "RegSaveKeyW");           -- winreg.h:524
  598.     pragma Import(Stdcall, RegSetKeySecurity, "RegSetKeySecurity");
  599.                                                             -- winreg.h:538
  600.     pragma Import(Stdcall, RegSetValueA, "RegSetValueA");         -- winreg.h:547
  601.     pragma Import(Stdcall, RegSetValueW, "RegSetValueW");         -- winreg.h:557
  602.     pragma Import(Stdcall, RegSetValueExA, "RegSetValueExA");     -- winreg.h:574
  603.     pragma Import(Stdcall, RegSetValueExW, "RegSetValueExW");     -- winreg.h:585
  604.     pragma Import(Stdcall, RegUnLoadKeyA, "RegUnLoadKeyA");       -- winreg.h:602
  605.     pragma Import(Stdcall, RegUnLoadKeyW, "RegUnLoadKeyW");       -- winreg.h:609
  606.     pragma Import(Stdcall, InitiateSystemShutdownA, "InitiateSystemShutdownA");
  607.                                                             -- winreg.h:626
  608.     pragma Import(Stdcall, InitiateSystemShutdownW, "InitiateSystemShutdownW");
  609.                                                             -- winreg.h:636
  610.     pragma Import(Stdcall, AbortSystemShutdownA, "AbortSystemShutdownA");
  611.                                                             -- winreg.h:653
  612.     pragma Import(Stdcall, AbortSystemShutdownW, "AbortSystemShutdownW");
  613.                                                             -- winreg.h:659
  614.  
  615. -------------------------------------------------------------------------------
  616. --
  617. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS PROVIDED WITHOUT CHARGE
  618. -- "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
  619. -- BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR
  620. -- FITNESS FOR A PARTICULAR PURPOSE.  The user assumes the entire risk as to
  621. -- the accuracy and the use of this file.  This file may be used, copied,
  622. -- modified and distributed only by licensees of Microsoft Corporation's
  623. -- WIN32 Software Development Kit in accordance with the terms of the 
  624. -- licensee's End-User License Agreement for Microsoft Software for the
  625. -- WIN32 Development Kit.
  626. --
  627. -- Copyright (c) Intermetrics, Inc. 1995
  628. -- Portions (c) 1985-1994 Microsoft Corporation with permission.
  629. -- Microsoft is a registered trademark and Windows and Windows NT are
  630. -- trademarks of Microsoft Corporation.
  631. --
  632. -------------------------------------------------------------------------------
  633.  
  634. end Win32.Winreg;
  635.