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

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-nspapi.ads,v $ 
  2. -- $Revision: 1.14 $ $Date: 96/03/15 12:54:13 $ $Author: stm $ 
  3. -- See end of file for Copyright (c) information.
  4.  
  5. with Win32.Objbase;
  6. with Win32.Oleauto;
  7. with Win32.Rpcdce;
  8. with Win32.Winnt;
  9. with Win32.Winsock;
  10.  
  11. package Win32.Nspapi is
  12.  
  13.     use type Interfaces.C.Char_Array;
  14.  
  15.     SERVICE_RESOURCE            : constant := 16#1#;        -- nspapi.h:81
  16.     SERVICE_SERVICE             : constant := 16#2#;        -- nspapi.h:82
  17.     SERVICE_LOCAL               : constant := 16#4#;        -- nspapi.h:83
  18.     SERVICE_REGISTER            : constant := 16#1#;        -- nspapi.h:88
  19.     SERVICE_DEREGISTER          : constant := 16#2#;        -- nspapi.h:89
  20.     SERVICE_FLUSH               : constant := 16#3#;        -- nspapi.h:90
  21.     SERVICE_ADD_TYPE            : constant := 16#4#;        -- nspapi.h:91
  22.     SERVICE_DELETE_TYPE         : constant := 16#5#;        -- nspapi.h:92
  23.     SERVICE_FLAG_DEFER          : constant := 16#1#;        -- nspapi.h:97
  24.     SERVICE_FLAG_HARD           : constant := 16#2#;        -- nspapi.h:98
  25.     PROP_COMMENT                : constant := 16#1#;        -- nspapi.h:103
  26.     PROP_LOCALE                 : constant := 16#2#;        -- nspapi.h:104
  27.     PROP_DISPLAY_HINT           : constant := 16#4#;        -- nspapi.h:105
  28.     PROP_VERSION                : constant := 16#8#;        -- nspapi.h:106
  29.     PROP_START_TIME             : constant := 16#10#;       -- nspapi.h:107
  30.     PROP_MACHINE                : constant := 16#20#;       -- nspapi.h:108
  31.     PROP_ADDRESSES              : constant := 16#100#;      -- nspapi.h:109
  32.     PROP_SD                     : constant := 16#200#;      -- nspapi.h:110
  33.     PROP_ALL                    : constant := 16#80000000#; -- nspapi.h:111
  34.     SERVICE_ADDRESS_FLAG_RPC_CN : constant := 16#1#;        -- nspapi.h:117
  35.     SERVICE_ADDRESS_FLAG_RPC_DG : constant := 16#2#;        -- nspapi.h:118
  36.     SERVICE_ADDRESS_FLAG_RPC_NB : constant := 16#4#;        -- nspapi.h:119
  37.     NS_DEFAULT                  : constant := 0;            -- nspapi.h:125
  38.     NS_SAP                      : constant := 1;            -- nspapi.h:127
  39.     NS_NDS                      : constant := 2;            -- nspapi.h:128
  40.     NS_TCPIP_LOCAL              : constant := 10;           -- nspapi.h:130
  41.     NS_TCPIP_HOSTS              : constant := 11;           -- nspapi.h:131
  42.     NS_DNS                      : constant := 12;           -- nspapi.h:132
  43.     NS_NETBT                    : constant := 13;           -- nspapi.h:133
  44.     NS_WINS                     : constant := 14;           -- nspapi.h:134
  45.     NS_NBP                      : constant := 20;           -- nspapi.h:136
  46.     NS_MS                       : constant := 30;           -- nspapi.h:138
  47.     NS_STDA                     : constant := 31;           -- nspapi.h:139
  48.     NS_CAIRO                    : constant := 32;           -- nspapi.h:140
  49.     NS_X500                     : constant := 40;           -- nspapi.h:142
  50.     NS_NIS                      : constant := 41;           -- nspapi.h:143
  51.     NSTYPE_HIERARCHICAL         : constant := 16#1#;        -- nspapi.h:148
  52.     NSTYPE_DYNAMIC              : constant := 16#2#;        -- nspapi.h:149
  53.     NSTYPE_ENUMERABLE           : constant := 16#4#;        -- nspapi.h:150
  54.     NSTYPE_WORKGROUP            : constant := 16#8#;        -- nspapi.h:151
  55.     XP_CONNECTIONLESS           : constant := 16#1#;        -- nspapi.h:156
  56.     XP_GUARANTEED_DELIVERY      : constant := 16#2#;        -- nspapi.h:157
  57.     XP_GUARANTEED_ORDER         : constant := 16#4#;        -- nspapi.h:158
  58.     XP_MESSAGE_ORIENTED         : constant := 16#8#;        -- nspapi.h:159
  59.     XP_PSEUDO_STREAM            : constant := 16#10#;       -- nspapi.h:160
  60.     XP_GRACEFUL_CLOSE           : constant := 16#20#;       -- nspapi.h:161
  61.     XP_EXPEDITED_DATA           : constant := 16#40#;       -- nspapi.h:162
  62.     XP_CONNECT_DATA             : constant := 16#80#;       -- nspapi.h:163
  63.     XP_DISCONNECT_DATA          : constant := 16#100#;      -- nspapi.h:164
  64.     XP_SUPPORTS_BROADCAST       : constant := 16#200#;      -- nspapi.h:165
  65.     XP_SUPPORTS_MULTICAST       : constant := 16#400#;      -- nspapi.h:166
  66.     XP_BANDWIDTH_ALLOCATION     : constant := 16#800#;      -- nspapi.h:167
  67.     XP_FRAGMENTATION            : constant := 16#1000#;     -- nspapi.h:168
  68.     XP_ENCRYPTS                 : constant := 16#2000#;     -- nspapi.h:169
  69.     RES_SOFT_SEARCH             : constant := 16#1#;        -- nspapi.h:174
  70.     RES_FIND_MULTIPLE           : constant := 16#2#;        -- nspapi.h:175
  71.     RES_SERVICE                 : constant := 16#4#;        -- nspapi.h:176
  72.     SERVICE_TYPE_VALUE_SAPIDA   : constant CHAR_Array := "SapId" & Nul;
  73.                                                             -- nspapi.h:182
  74.     SERVICE_TYPE_VALUE_SAPIDW   : constant WCHAR_Array := "SapId" & Wide_Nul;
  75.                                                             -- nspapi.h:183
  76.     SERVICE_TYPE_VALUE_CONNA    : constant CHAR_Array := 
  77.                   "ConnectionOriented" & Nul;
  78.                                                             -- nspapi.h:185
  79.     SERVICE_TYPE_VALUE_CONNW    : constant WCHAR_Array := 
  80.                   "ConnectionOriented" & Wide_Nul;
  81.                                                             -- nspapi.h:186
  82.     SERVICE_TYPE_VALUE_TCPPORTA : constant CHAR_Array := "TcpPort" & Nul;
  83.                                                             -- nspapi.h:188
  84.     SERVICE_TYPE_VALUE_TCPPORTW : constant WCHAR_Array := "TcpPort" & Wide_Nul;
  85.                                                             -- nspapi.h:189
  86.     SERVICE_TYPE_VALUE_UDPPORTA : constant CHAR_Array := "UdpPort" & Nul;
  87.                                                             -- nspapi.h:191
  88.     SERVICE_TYPE_VALUE_UDPPORTW : constant WCHAR_Array := "UdpPort" & Wide_Nul;
  89.                                                             -- nspapi.h:192
  90.     SERVICE_TYPE_VALUE_SAPID    : CHAR_Array renames SERVICE_TYPE_VALUE_SAPIDA;
  91.                                                             -- nspapi.h:203
  92.     SERVICE_TYPE_VALUE_CONN     : CHAR_Array renames SERVICE_TYPE_VALUE_CONNA;
  93.                                                             -- nspapi.h:204
  94.     SERVICE_TYPE_VALUE_TCPPORT  : CHAR_Array renames 
  95.                   SERVICE_TYPE_VALUE_TCPPORTA;
  96.                                                             -- nspapi.h:205
  97.     SERVICE_TYPE_VALUE_UDPPORT  : CHAR_Array renames 
  98.                   SERVICE_TYPE_VALUE_UDPPORTA;
  99.                                                             -- nspapi.h:206
  100.     SET_SERVICE_PARTIAL_SUCCESS : constant := 16#1#;        -- nspapi.h:214
  101.  
  102.     type NS_INFOA;                                          -- nspapi.h:219
  103.     type NS_INFOW;                                          -- nspapi.h:227
  104.     type SERVICE_TYPE_VALUE;                                -- nspapi.h:246
  105.     type SERVICE_TYPE_VALUE_ABSA;                           -- nspapi.h:257
  106.     type SERVICE_TYPE_VALUE_ABSW;                           -- nspapi.h:269
  107.     type SERVICE_TYPE_INFO;                                 -- nspapi.h:293
  108.     type SERVICE_TYPE_INFO_ABSA;                            -- nspapi.h:299
  109.     type SERVICE_TYPE_INFO_ABSW;                            -- nspapi.h:306
  110.     type SERVICE_ADDRESS;                                   -- nspapi.h:327
  111.     type SERVICE_ADDRESSES;                                 -- nspapi.h:347
  112.     type SERVICE_INFOA;                                     -- nspapi.h:360
  113.     type SERVICE_INFOW;                                     -- nspapi.h:375
  114.     type NS_SERVICE_INFOA;                                  -- nspapi.h:401
  115.     type NS_SERVICE_INFOW;                                  -- nspapi.h:408
  116.     type SOCKET_ADDRESS;                                    -- nspapi.h:425
  117.     type CSADDR_INFO;                                       -- nspapi.h:433
  118.     type PROTOCOL_INFOA;                                    -- nspapi.h:444
  119.     type PROTOCOL_INFOW;                                    -- nspapi.h:457
  120.     type NETRESOURCE2A;                                     -- nspapi.h:480
  121.     type NETRESOURCE2W;                                     -- nspapi.h:496
  122.     type SERVICE_ASYNC_INFO;                                -- nspapi.h:531
  123.  
  124.     type LPNS_INFOA is access all NS_INFOA;                 -- nspapi.h:223
  125.     type LPNS_INFOW is access all NS_INFOW;                 -- nspapi.h:231
  126.     type LPNS_INFO is access all NS_INFOA;                  -- nspapi.h:239
  127.     type PSERVICE_TYPE_VALUE is access all SERVICE_TYPE_VALUE;
  128.                                                             -- nspapi.h:252
  129.     subtype LPSERVICE_TYPE_VALUE is PSERVICE_TYPE_VALUE;    -- nspapi.h:252
  130.     type PSERVICE_TYPE_VALUE_ABSA is access all SERVICE_TYPE_VALUE_ABSA;
  131.                                                             -- nspapi.h:264
  132.     subtype LPSERVICE_TYPE_VALUE_ABSA is PSERVICE_TYPE_VALUE_ABSA;
  133.                                                             -- nspapi.h:265
  134.     type PSERVICE_TYPE_VALUE_ABSW is access all SERVICE_TYPE_VALUE_ABSW;
  135.                                                             -- nspapi.h:276
  136.     subtype LPSERVICE_TYPE_VALUE_ABSW is PSERVICE_TYPE_VALUE_ABSW;
  137.                                                             -- nspapi.h:277
  138.     type PSERVICE_TYPE_VALUE_ABS is access all SERVICE_TYPE_VALUE_ABSA;
  139.                                                             -- nspapi.h:284
  140.     subtype LPSERVICE_TYPE_VALUE_ABS is PSERVICE_TYPE_VALUE_ABS;
  141.                                                             -- nspapi.h:285
  142.     type PSERVICE_TYPE_INFO is access all SERVICE_TYPE_INFO;-- nspapi.h:297
  143.     subtype LPSERVICE_TYPE_INFO is PSERVICE_TYPE_INFO;      -- nspapi.h:297
  144.     type PSERVICE_TYPE_INFO_ABSA is access all SERVICE_TYPE_INFO_ABSA;
  145.                                                             -- nspapi.h:304
  146.     subtype LPSERVICE_TYPE_INFO_ABSA is PSERVICE_TYPE_INFO_ABSA;
  147.                                                             -- nspapi.h:305
  148.     type PSERVICE_TYPE_INFO_ABSW is access all SERVICE_TYPE_INFO_ABSW;
  149.                                                             -- nspapi.h:311
  150.     subtype LPSERVICE_TYPE_INFO_ABSW is PSERVICE_TYPE_INFO_ABSW;
  151.                                                             -- nspapi.h:312
  152.     type PSERVICE_TYPE_INFO_ABS is access all SERVICE_TYPE_INFO_ABSA;
  153.                                                             -- nspapi.h:319
  154.     subtype LPSERVICE_TYPE_INFO_ABS is PSERVICE_TYPE_INFO_ABS;
  155.                                                             -- nspapi.h:320
  156.     type PSERVICE_ADDRESS is access all SERVICE_ADDRESS;    -- nspapi.h:342
  157.     subtype LPSERVICE_ADDRESS is PSERVICE_ADDRESS;          -- nspapi.h:342
  158.     type PSERVICE_ADDRESSES is access all SERVICE_ADDRESSES;-- nspapi.h:354
  159.     subtype LPSERVICE_ADDRESSES is PSERVICE_ADDRESSES;      -- nspapi.h:354
  160.     type PSERVICE_INFOA is access all SERVICE_INFOA;        -- nspapi.h:371
  161.     subtype LPSERVICE_INFOA is PSERVICE_INFOA;              -- nspapi.h:371
  162.     type PSERVICE_INFOW is access all SERVICE_INFOW;        -- nspapi.h:386
  163.     subtype LPSERVICE_INFOW is PSERVICE_INFOW;              -- nspapi.h:386
  164.     type PSERVICE_INFO is access all SERVICE_INFOA;         -- nspapi.h:393
  165.     subtype LPSERVICE_INFO is PSERVICE_INFO;                -- nspapi.h:394
  166.     type PNS_SERVICE_INFOA is access all NS_SERVICE_INFOA;  -- nspapi.h:404
  167.     subtype LPNS_SERVICE_INFOA is PNS_SERVICE_INFOA;        -- nspapi.h:404
  168.     type PNS_SERVICE_INFOW is access all NS_SERVICE_INFOW;  -- nspapi.h:411
  169.     subtype LPNS_SERVICE_INFOW is PNS_SERVICE_INFOW;        -- nspapi.h:411
  170.     type PNS_SERVICE_INFO is access all NS_SERVICE_INFOA;   -- nspapi.h:418
  171.     subtype LPNS_SERVICE_INFO is PNS_SERVICE_INFO;          -- nspapi.h:419
  172.     type PSOCKET_ADDRESS is access all SOCKET_ADDRESS;      -- nspapi.h:428
  173.     subtype LPSOCKET_ADDRESS is PSOCKET_ADDRESS;            -- nspapi.h:428
  174.     type PCSADDR_INFO is access all CSADDR_INFO;            -- nspapi.h:438
  175.     subtype LPCSADDR_INFO is PCSADDR_INFO;                  -- nspapi.h:438
  176.     type PPROTOCOL_INFOA is access all PROTOCOL_INFOA;      -- nspapi.h:453
  177.     subtype LPPROTOCOL_INFOA is PPROTOCOL_INFOA;            -- nspapi.h:453
  178.     type PPROTOCOL_INFOW is access all PROTOCOL_INFOW;      -- nspapi.h:466
  179.     subtype LPPROTOCOL_INFOW is PPROTOCOL_INFOW;            -- nspapi.h:466
  180.     type PPROTOCOL_INFO is access all PROTOCOL_INFOA;       -- nspapi.h:473
  181.     subtype LPPROTOCOL_INFO is PPROTOCOL_INFO;              -- nspapi.h:474
  182.     type PNETRESOURCE2A is access all NETRESOURCE2A;        -- nspapi.h:492
  183.     subtype LPNETRESOURCE2A is PNETRESOURCE2A;              -- nspapi.h:492
  184.     type PNETRESOURCE2W is access all NETRESOURCE2W;        -- nspapi.h:508
  185.     subtype LPNETRESOURCE2W is PNETRESOURCE2W;              -- nspapi.h:508
  186.     type PNETRESOURCE2 is access all NETRESOURCE2A;         -- nspapi.h:515
  187.     subtype LPNETRESOURCE2 is PNETRESOURCE2;                -- nspapi.h:516
  188.     type PSERVICE_ASYNC_INFO is access all SERVICE_ASYNC_INFO;
  189.                                                             -- nspapi.h:535
  190.     subtype LPSERVICE_ASYNC_INFO is PSERVICE_ASYNC_INFO;    -- nspapi.h:535
  191.  
  192.     type NS_INFOA is                                        -- nspapi.h:219
  193.         record
  194.             dwNameSpace     : Win32.DWORD;                  -- nspapi.h:220
  195.             dwNameSpaceFlags: Win32.DWORD;                  -- nspapi.h:221
  196.             lpNameSpace     : Win32.LPSTR;                  -- nspapi.h:222
  197.         end record;
  198.  
  199.     subtype PNS_INFOA is NS_INFOA;                          -- nspapi.h:223
  200.  
  201.     type NS_INFOW is                                        -- nspapi.h:227
  202.         record
  203.             dwNameSpace     : Win32.DWORD;                  -- nspapi.h:228
  204.             dwNameSpaceFlags: Win32.DWORD;                  -- nspapi.h:229
  205.             lpNameSpace     : Win32.LPWSTR;                 -- nspapi.h:230
  206.         end record;
  207.  
  208.     subtype PNS_INFOW is NS_INFOW;                          -- nspapi.h:231
  209.  
  210.     subtype NS_INFO is NS_INFOA;                            -- nspapi.h:237
  211.  
  212.     subtype PNS_INFO is PNS_INFOA;                          -- nspapi.h:238
  213.  
  214.     type SERVICE_TYPE_VALUE is                              -- nspapi.h:246
  215.         record
  216.             dwNameSpace      : Win32.DWORD;                 -- nspapi.h:247
  217.             dwValueType      : Win32.DWORD;                 -- nspapi.h:248
  218.             dwValueSize      : Win32.DWORD;                 -- nspapi.h:249
  219.             dwValueNameOffset: Win32.DWORD;                 -- nspapi.h:250
  220.             dwValueOffset    : Win32.DWORD;                 -- nspapi.h:251
  221.         end record;
  222.  
  223.     type SERVICE_TYPE_VALUE_ABSA is                         -- nspapi.h:257
  224.         record
  225.             dwNameSpace: Win32.DWORD;                       -- nspapi.h:258
  226.             dwValueType: Win32.DWORD;                       -- nspapi.h:259
  227.             dwValueSize: Win32.DWORD;                       -- nspapi.h:260
  228.             lpValueName: Win32.LPSTR;                       -- nspapi.h:261
  229.             lpValue    : Win32.PVOID;                       -- nspapi.h:262
  230.         end record;
  231.  
  232.     type SERVICE_TYPE_VALUE_ABSW is                         -- nspapi.h:269
  233.         record
  234.             dwNameSpace: Win32.DWORD;                       -- nspapi.h:270
  235.             dwValueType: Win32.DWORD;                       -- nspapi.h:271
  236.             dwValueSize: Win32.DWORD;                       -- nspapi.h:272
  237.             lpValueName: Win32.LPWSTR;                      -- nspapi.h:273
  238.             lpValue    : Win32.PVOID;                       -- nspapi.h:274
  239.         end record;
  240.  
  241.     subtype SERVICE_TYPE_VALUE_ABS is SERVICE_TYPE_VALUE_ABSA;
  242.                                                             -- nspapi.h:283
  243.  
  244.     type SERVICE_TYPE_VALUE_Array is                        -- nspapi.h:296
  245.         array(integer range 0..Win32.ANYSIZE_ARRAY)
  246.         of aliased SERVICE_TYPE_VALUE;
  247.  
  248.     type SERVICE_TYPE_INFO is                               -- nspapi.h:293
  249.         record
  250.             dwTypeNameOffset: Win32.DWORD;                  -- nspapi.h:294
  251.             dwValueCount    : Win32.DWORD;                  -- nspapi.h:295
  252.             Values          : SERVICE_TYPE_VALUE_Array;     -- nspapi.h:296
  253.         end record;
  254.  
  255.     type SERVICE_TYPE_VALUE_ABSA_Array is                   -- nspapi.h:302
  256.         array(integer range 0..Win32.ANYSIZE_ARRAY)
  257.         of aliased SERVICE_TYPE_VALUE_ABSA;
  258.  
  259.     type SERVICE_TYPE_INFO_ABSA is                          -- nspapi.h:299
  260.         record
  261.             lpTypeName  : Win32.LPSTR;                      -- nspapi.h:300
  262.             dwValueCount: Win32.DWORD;                      -- nspapi.h:301
  263.             Values      : SERVICE_TYPE_VALUE_ABSA_Array;    -- nspapi.h:302
  264.         end record;
  265.  
  266.     type SERVICE_TYPE_VALUE_ABSW_Array is                   -- nspapi.h:309
  267.         array(integer range 0..Win32.ANYSIZE_ARRAY)
  268.         of aliased SERVICE_TYPE_VALUE_ABSW;
  269.  
  270.     type SERVICE_TYPE_INFO_ABSW is                          -- nspapi.h:306
  271.         record
  272.             lpTypeName  : Win32.LPWSTR;                     -- nspapi.h:307
  273.             dwValueCount: Win32.DWORD;                      -- nspapi.h:308
  274.             Values      : SERVICE_TYPE_VALUE_ABSW_Array;    -- nspapi.h:309
  275.         end record;
  276.  
  277.     subtype SERVICE_TYPE_INFO_ABS is SERVICE_TYPE_INFO_ABSA;-- nspapi.h:318
  278.  
  279.     type SERVICE_ADDRESS is                                 -- nspapi.h:327
  280.         record
  281.             dwAddressType    : Win32.DWORD;                 -- nspapi.h:328
  282.             dwAddressFlags   : Win32.DWORD;                 -- nspapi.h:329
  283.             dwAddressLength  : Win32.DWORD;                 -- nspapi.h:330
  284.             dwPrincipalLength: Win32.DWORD;                 -- nspapi.h:331
  285.             lpAddress        : Win32.PBYTE;                 -- nspapi.h:335
  286.             lpPrincipal      : Win32.PBYTE;                 -- nspapi.h:340
  287.         end record;
  288.  
  289.     type SERVICE_ADDRESS_Array is                           -- nspapi.h:352
  290.         array(integer range 0..Win32.ANYSIZE_ARRAY)
  291.         of aliased SERVICE_ADDRESS;
  292.  
  293.     type SERVICE_ADDRESSES is                               -- nspapi.h:347
  294.         record
  295.             dwAddressCount: Win32.DWORD;                    -- nspapi.h:348
  296.             Addresses     : SERVICE_ADDRESS_Array;          -- nspapi.h:352
  297.         end record;
  298.  
  299.     type SERVICE_INFOA is                                   -- nspapi.h:360
  300.         record
  301.             lpServiceType      : Win32.Objbase.LPGUID;      -- nspapi.h:361
  302.             lpServiceName      : Win32.LPSTR;               -- nspapi.h:362
  303.             lpComment          : Win32.LPSTR;               -- nspapi.h:363
  304.             lpLocale           : Win32.LPSTR;               -- nspapi.h:364
  305.             dwDisplayHint      : Win32.DWORD;               -- nspapi.h:365
  306.             dwVersion          : Win32.DWORD;               -- nspapi.h:366
  307.             dwTime             : Win32.DWORD;               -- nspapi.h:367
  308.             lpMachineName      : Win32.LPSTR;               -- nspapi.h:368
  309.             lpServiceAddress   : LPSERVICE_ADDRESSES;       -- nspapi.h:369
  310.             ServiceSpecificInfo: Win32.Oleauto.BLOB;        -- nspapi.h:370
  311.         end record;
  312.  
  313.     type SERVICE_INFOW is                                   -- nspapi.h:375
  314.         record
  315.             lpServiceType      : Win32.Objbase.LPGUID;      -- nspapi.h:376
  316.             lpServiceName      : Win32.LPWSTR;              -- nspapi.h:377
  317.             lpComment          : Win32.LPWSTR;              -- nspapi.h:378
  318.             lpLocale           : Win32.LPWSTR;              -- nspapi.h:379
  319.             dwDisplayHint      : Win32.DWORD;               -- nspapi.h:380
  320.             dwVersion          : Win32.DWORD;               -- nspapi.h:381
  321.             dwTime             : Win32.DWORD;               -- nspapi.h:382
  322.             lpMachineName      : Win32.LPWSTR;              -- nspapi.h:383
  323.             lpServiceAddress   : LPSERVICE_ADDRESSES;       -- nspapi.h:384
  324.             ServiceSpecificInfo: Win32.Oleauto.BLOB;        -- nspapi.h:385
  325.         end record;
  326.  
  327.     subtype SERVICE_INFO is SERVICE_INFOA;                  -- nspapi.h:392
  328.  
  329.     type NS_SERVICE_INFOA is                                -- nspapi.h:401
  330.         record
  331.             dwNameSpace: Win32.DWORD;                       -- nspapi.h:402
  332.             ServiceInfo: SERVICE_INFOA;                     -- nspapi.h:403
  333.         end record;
  334.  
  335.     type NS_SERVICE_INFOW is                                -- nspapi.h:408
  336.         record
  337.             dwNameSpace: Win32.DWORD;                       -- nspapi.h:409
  338.             ServiceInfo: SERVICE_INFOW;                     -- nspapi.h:410
  339.         end record;
  340.  
  341.     subtype NS_SERVICE_INFO is NS_SERVICE_INFOA;            -- nspapi.h:417
  342.  
  343.     type SOCKET_ADDRESS is                                  -- nspapi.h:425
  344.         record
  345.             lpSockaddr     : Win32.Winsock.LPSOCKADDR;      -- nspapi.h:426
  346.             iSockaddrLength: Win32.INT;                     -- nspapi.h:427
  347.         end record;
  348.  
  349.     type CSADDR_INFO is                                     -- nspapi.h:433
  350.         record
  351.             LocalAddr  : SOCKET_ADDRESS;                    -- nspapi.h:434
  352.             RemoteAddr : SOCKET_ADDRESS;                    -- nspapi.h:435
  353.             iSocketType: Win32.INT;                         -- nspapi.h:436
  354.             iProtocol  : Win32.INT;                         -- nspapi.h:437
  355.         end record;
  356.  
  357.     type PROTOCOL_INFOA is                                  -- nspapi.h:444
  358.         record
  359.             dwServiceFlags: Win32.DWORD;                    -- nspapi.h:445
  360.             iAddressFamily: Win32.INT;                      -- nspapi.h:446
  361.             iMaxSockAddr  : Win32.INT;                      -- nspapi.h:447
  362.             iMinSockAddr  : Win32.INT;                      -- nspapi.h:448
  363.             iSocketType   : Win32.INT;                      -- nspapi.h:449
  364.             iProtocol     : Win32.INT;                      -- nspapi.h:450
  365.             dwMessageSize : Win32.DWORD;                    -- nspapi.h:451
  366.             lpProtocol    : Win32.LPSTR;                    -- nspapi.h:452
  367.         end record;
  368.  
  369.     type PROTOCOL_INFOW is                                  -- nspapi.h:457
  370.         record
  371.             dwServiceFlags: Win32.DWORD;                    -- nspapi.h:458
  372.             iAddressFamily: Win32.INT;                      -- nspapi.h:459
  373.             iMaxSockAddr  : Win32.INT;                      -- nspapi.h:460
  374.             iMinSockAddr  : Win32.INT;                      -- nspapi.h:461
  375.             iSocketType   : Win32.INT;                      -- nspapi.h:462
  376.             iProtocol     : Win32.INT;                      -- nspapi.h:463
  377.             dwMessageSize : Win32.DWORD;                    -- nspapi.h:464
  378.             lpProtocol    : Win32.LPWSTR;                   -- nspapi.h:465
  379.         end record;
  380.  
  381.     subtype PROTOCOL_INFO is PROTOCOL_INFOA;                -- nspapi.h:472
  382.  
  383.     type NETRESOURCE2A is                                   -- nspapi.h:480
  384.         record
  385.             dwScope      : Win32.DWORD;                     -- nspapi.h:481
  386.             dwType       : Win32.DWORD;                     -- nspapi.h:482
  387.             dwUsage      : Win32.DWORD;                     -- nspapi.h:483
  388.             dwDisplayType: Win32.DWORD;                     -- nspapi.h:484
  389.             lpLocalName  : Win32.LPSTR;                     -- nspapi.h:485
  390.             lpRemoteName : Win32.LPSTR;                     -- nspapi.h:486
  391.             lpComment    : Win32.LPSTR;                     -- nspapi.h:487
  392.             ns_info      : Win32.Nspapi.NS_INFO;            -- nspapi.h:488
  393.             ServiceType  : Win32.Rpcdce.GUID;               -- nspapi.h:489
  394.             dwProtocols  : Win32.DWORD;                     -- nspapi.h:490
  395.             lpiProtocols : Win32.LPINT;                     -- nspapi.h:491
  396.         end record;
  397.  
  398.     type NETRESOURCE2W is                                   -- nspapi.h:496
  399.         record
  400.             dwScope      : Win32.DWORD;                     -- nspapi.h:497
  401.             dwType       : Win32.DWORD;                     -- nspapi.h:498
  402.             dwUsage      : Win32.DWORD;                     -- nspapi.h:499
  403.             dwDisplayType: Win32.DWORD;                     -- nspapi.h:500
  404.             lpLocalName  : Win32.LPWSTR;                    -- nspapi.h:501
  405.             lpRemoteName : Win32.LPWSTR;                    -- nspapi.h:502
  406.             lpComment    : Win32.LPWSTR;                    -- nspapi.h:503
  407.             ns_info      : Win32.Nspapi.NS_INFO;            -- nspapi.h:504
  408.             ServiceType  : Win32.Rpcdce.GUID;               -- nspapi.h:505
  409.             dwProtocols  : Win32.DWORD;                     -- nspapi.h:506
  410.             lpiProtocols : Win32.LPINT;                     -- nspapi.h:507
  411.         end record;
  412.  
  413.     subtype NETRESOURCE2 is NETRESOURCE2A;                  -- nspapi.h:514
  414.  
  415.     type LPFN_NSPAPI is access function  return Win32.DWORD;-- nspapi.h:519
  416.     pragma Convention(Stdcall, LPFN_NSPAPI);
  417.     type LPSERVICE_CALLBACK_PROC is access procedure (
  418.                 lParam          : Win32.LPARAM;
  419.                 hAsyncTaskHandle: Win32.Winnt.HANDLE);      -- nspapi.h:526
  420.     pragma Convention(Stdcall, LPSERVICE_CALLBACK_PROC);
  421.                                                                 
  422.     type SERVICE_ASYNC_INFO is                              -- nspapi.h:531
  423.         record                                                  
  424.             lpServiceCallbackProc: LPSERVICE_CALLBACK_PROC; -- nspapi.h:532
  425.             lParam               : Win32.LPARAM;            -- nspapi.h:533
  426.             hAsyncTaskHandle     : Win32.Winnt.HANDLE;      -- nspapi.h:534
  427.         end record;                                             
  428.                                                                 
  429.     function EnumProtocolsA(
  430.                 lpiProtocols    : Win32.LPINT;
  431.                 lpProtocolBuffer: Win32.LPVOID;
  432.                 lpdwBufferLength: Win32.LPDWORD)
  433.                return Win32.INT;                            -- nspapi.h:542
  434.  
  435.     function EnumProtocols(
  436.                 lpiProtocols    : Win32.LPINT;
  437.                 lpProtocolBuffer: Win32.LPVOID;
  438.                 lpdwBufferLength: Win32.LPDWORD)
  439.                return Win32.INT
  440.                renames EnumProtocolsA;                      -- nspapi.h:542
  441.  
  442.     function EnumProtocolsW(
  443.                 lpiProtocols    : Win32.LPINT;
  444.                 lpProtocolBuffer: Win32.LPVOID;
  445.                 lpdwBufferLength: Win32.LPDWORD)
  446.                return Win32.INT;                            -- nspapi.h:552
  447.  
  448.     function GetAddressByNameA(
  449.                 dwNameSpace          : Win32.DWORD;
  450.                 lpServiceType        : Win32.Objbase.LPGUID;
  451.                 lpServiceName        : Win32.LPSTR;
  452.                 lpiProtocols         : Win32.LPINT;
  453.                 dwResolution         : Win32.DWORD;
  454.                 lpServiceAsyncInfo   : LPSERVICE_ASYNC_INFO;
  455.                 lpCsaddrBuffer       : Win32.LPVOID;
  456.                 lpdwBufferLength     : Win32.LPDWORD;
  457.                 lpAliasBuffer        : Win32.LPSTR;
  458.                 lpdwAliasBufferLength: Win32.LPDWORD)
  459.                return Win32.INT;                            -- nspapi.h:565
  460.  
  461.     function GetAddressByName(
  462.                 dwNameSpace          : Win32.DWORD;
  463.                 lpServiceType        : Win32.Objbase.LPGUID;
  464.                 lpServiceName        : Win32.LPSTR;
  465.                 lpiProtocols         : Win32.LPINT;
  466.                 dwResolution         : Win32.DWORD;
  467.                 lpServiceAsyncInfo   : LPSERVICE_ASYNC_INFO;
  468.                 lpCsaddrBuffer       : Win32.LPVOID;
  469.                 lpdwBufferLength     : Win32.LPDWORD;
  470.                 lpAliasBuffer        : Win32.LPSTR;
  471.                 lpdwAliasBufferLength: Win32.LPDWORD)
  472.                return Win32.INT
  473.                renames GetAddressByNameA;                   -- nspapi.h:565
  474.  
  475.     function GetAddressByNameW(
  476.                 dwNameSpace          : Win32.DWORD;
  477.                 lpServiceType        : Win32.Objbase.LPGUID;
  478.                 lpServiceName        : Win32.LPWSTR;
  479.                 lpiProtocols         : Win32.LPINT;
  480.                 dwResolution         : Win32.DWORD;
  481.                 lpServiceAsyncInfo   : LPSERVICE_ASYNC_INFO;
  482.                 lpCsaddrBuffer       : Win32.LPVOID;
  483.                 lpdwBufferLength     : Win32.LPDWORD;
  484.                 lpAliasBuffer        : Win32.LPWSTR;
  485.                 lpdwAliasBufferLength: Win32.LPDWORD)
  486.                return Win32.INT;                            -- nspapi.h:579
  487.  
  488.     function GetTypeByNameA(
  489.                 lpServiceName: Win32.LPSTR;
  490.                 lpServiceType: Win32.Objbase.LPGUID)
  491.                return Win32.INT;                            -- nspapi.h:599
  492.  
  493.     function GetTypeByName(
  494.                 lpServiceName: Win32.LPSTR;
  495.                 lpServiceType: Win32.Objbase.LPGUID)
  496.                return Win32.INT
  497.                renames GetTypeByNameA;                      -- nspapi.h:599
  498.  
  499.     function GetTypeByNameW(
  500.                 lpServiceName: Win32.LPWSTR;
  501.                 lpServiceType: Win32.Objbase.LPGUID)
  502.                return Win32.INT;                            -- nspapi.h:605
  503.  
  504.     function GetNameByTypeA(
  505.                 lpServiceType: Win32.Objbase.LPGUID;
  506.                 lpServiceName: Win32.LPSTR;
  507.                 dwNameLength : Win32.DWORD)
  508.                return Win32.INT;                            -- nspapi.h:617
  509.  
  510.     function GetNameByType(
  511.                 lpServiceType: Win32.Objbase.LPGUID;
  512.                 lpServiceName: Win32.LPSTR;
  513.                 dwNameLength : Win32.DWORD)
  514.                return Win32.INT
  515.                renames GetNameByTypeA;                      -- nspapi.h:617
  516.  
  517.     function GetNameByTypeW(
  518.                 lpServiceType: Win32.Objbase.LPGUID;
  519.                 lpServiceName: Win32.LPWSTR;
  520.                 dwNameLength : Win32.DWORD)
  521.                return Win32.INT;                            -- nspapi.h:624
  522.  
  523.     function SetServiceA(
  524.                 dwNameSpace       : Win32.DWORD;
  525.                 dwOperation       : Win32.DWORD;
  526.                 dwFlags           : Win32.DWORD;
  527.                 lpServiceInfo     : LPSERVICE_INFOA;
  528.                 lpServiceAsyncInfo: LPSERVICE_ASYNC_INFO;
  529.                 lpdwStatusFlags   : Win32.LPDWORD)
  530.                return Win32.INT;                            -- nspapi.h:637
  531.  
  532.     function SetService(
  533.                 dwNameSpace       : Win32.DWORD;
  534.                 dwOperation       : Win32.DWORD;
  535.                 dwFlags           : Win32.DWORD;
  536.                 lpServiceInfo     : LPSERVICE_INFOA;
  537.                 lpServiceAsyncInfo: LPSERVICE_ASYNC_INFO;
  538.                 lpdwStatusFlags   : Win32.LPDWORD)
  539.                return Win32.INT
  540.                renames SetServiceA;                         -- nspapi.h:637
  541.  
  542.     function SetServiceW(
  543.                 dwNameSpace       : Win32.DWORD;
  544.                 dwOperation       : Win32.DWORD;
  545.                 dwFlags           : Win32.DWORD;
  546.                 lpServiceInfo     : LPSERVICE_INFOW;
  547.                 lpServiceAsyncInfo: LPSERVICE_ASYNC_INFO;
  548.                 lpdwStatusFlags   : Win32.LPDWORD)
  549.                return Win32.INT;                            -- nspapi.h:647
  550.  
  551.     function GetServiceA(
  552.                 dwNameSpace       : Win32.DWORD;
  553.                 lpGuid            : Win32.Objbase.LPGUID;
  554.                 lpServiceName     : Win32.LPSTR;
  555.                 dwProperties      : Win32.DWORD;
  556.                 lpBuffer          : Win32.LPVOID;
  557.                 lpdwBufferSize    : Win32.LPDWORD;
  558.                 lpServiceAsyncInfo: LPSERVICE_ASYNC_INFO)
  559.                return Win32.INT;                            -- nspapi.h:663
  560.  
  561.     function GetService(
  562.                 dwNameSpace       : Win32.DWORD;
  563.                 lpGuid            : Win32.Objbase.LPGUID;
  564.                 lpServiceName     : Win32.LPSTR;
  565.                 dwProperties      : Win32.DWORD;
  566.                 lpBuffer          : Win32.LPVOID;
  567.                 lpdwBufferSize    : Win32.LPDWORD;
  568.                 lpServiceAsyncInfo: LPSERVICE_ASYNC_INFO)
  569.                return Win32.INT
  570.                renames GetServiceA;                         -- nspapi.h:663
  571.  
  572.     function GetServiceW(
  573.                 dwNameSpace       : Win32.DWORD;
  574.                 lpGuid            : Win32.Objbase.LPGUID;
  575.                 lpServiceName     : Win32.LPWSTR;
  576.                 dwProperties      : Win32.DWORD;
  577.                 lpBuffer          : Win32.LPVOID;
  578.                 lpdwBufferSize    : Win32.LPDWORD;
  579.                 lpServiceAsyncInfo: LPSERVICE_ASYNC_INFO)
  580.                return Win32.INT;                            -- nspapi.h:674
  581.  
  582. private
  583.  
  584.     pragma Convention(C, NS_INFOA);                         -- nspapi.h:219
  585.     pragma Convention(C, NS_INFOW);                         -- nspapi.h:227
  586.     pragma Convention(C, SERVICE_TYPE_VALUE);               -- nspapi.h:246
  587.     pragma Convention(C, SERVICE_TYPE_VALUE_ABSA);          -- nspapi.h:257
  588.     pragma Convention(C, SERVICE_TYPE_VALUE_ABSW);          -- nspapi.h:269
  589.     pragma Convention(C, SERVICE_TYPE_INFO);                -- nspapi.h:293
  590.     pragma Convention(C, SERVICE_TYPE_INFO_ABSA);           -- nspapi.h:299
  591.     pragma Convention(C, SERVICE_TYPE_INFO_ABSW);           -- nspapi.h:306
  592.     pragma Convention(C, SERVICE_ADDRESS);                  -- nspapi.h:327
  593.     pragma Convention(C, SERVICE_ADDRESSES);                -- nspapi.h:347
  594.     pragma Convention(C, SERVICE_INFOA);                    -- nspapi.h:360
  595.     pragma Convention(C, SERVICE_INFOW);                    -- nspapi.h:375
  596.     pragma Convention(C, NS_SERVICE_INFOA);                 -- nspapi.h:401
  597.     pragma Convention(C, NS_SERVICE_INFOW);                 -- nspapi.h:408
  598.     pragma Convention(C, SOCKET_ADDRESS);                   -- nspapi.h:425
  599.     pragma Convention(C, CSADDR_INFO);                      -- nspapi.h:433
  600.     pragma Convention(C, PROTOCOL_INFOA);                   -- nspapi.h:444
  601.     pragma Convention(C, PROTOCOL_INFOW);                   -- nspapi.h:457
  602.     pragma Convention(C, NETRESOURCE2A);                    -- nspapi.h:480
  603.     pragma Convention(C, NETRESOURCE2W);                    -- nspapi.h:496
  604.     pragma Convention(C, SERVICE_ASYNC_INFO);               -- nspapi.h:531
  605.  
  606.     pragma Import(Stdcall, EnumProtocolsA, "EnumProtocolsA");     -- nspapi.h:542
  607.     pragma Import(Stdcall, EnumProtocolsW, "EnumProtocolsW");     -- nspapi.h:552
  608.     pragma Import(Stdcall, GetAddressByNameA, "GetAddressByNameA");
  609.                                                             -- nspapi.h:565
  610.     pragma Import(Stdcall, GetAddressByNameW, "GetAddressByNameW");
  611.                                                             -- nspapi.h:579
  612.     pragma Import(Stdcall, GetTypeByNameA, "GetTypeByNameA");     -- nspapi.h:599
  613.     pragma Import(Stdcall, GetTypeByNameW, "GetTypeByNameW");     -- nspapi.h:605
  614.     pragma Import(Stdcall, GetNameByTypeA, "GetNameByTypeA");     -- nspapi.h:617
  615.     pragma Import(Stdcall, GetNameByTypeW, "GetNameByTypeW");     -- nspapi.h:624
  616.     pragma Import(Stdcall, SetServiceA, "SetServiceA");           -- nspapi.h:637
  617.     pragma Import(Stdcall, SetServiceW, "SetServiceW");           -- nspapi.h:647
  618.     pragma Import(Stdcall, GetServiceA, "GetServiceA");           -- nspapi.h:663
  619.     pragma Import(Stdcall, GetServiceW, "GetServiceW");           -- nspapi.h:674
  620.  
  621. -------------------------------------------------------------------------------
  622. --
  623. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS PROVIDED WITHOUT CHARGE
  624. -- "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
  625. -- BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR
  626. -- FITNESS FOR A PARTICULAR PURPOSE.  The user assumes the entire risk as to
  627. -- the accuracy and the use of this file.  This file may be used, copied,
  628. -- modified and distributed only by licensees of Microsoft Corporation's
  629. -- WIN32 Software Development Kit in accordance with the terms of the 
  630. -- licensee's End-User License Agreement for Microsoft Software for the
  631. -- WIN32 Development Kit.
  632. --
  633. -- Copyright (c) Intermetrics, Inc. 1995
  634. -- Portions (c) 1985-1994 Microsoft Corporation with permission.
  635. -- Microsoft is a registered trademark and Windows and Windows NT are
  636. -- trademarks of Microsoft Corporation.
  637. --
  638. -------------------------------------------------------------------------------
  639.  
  640. end Win32.Nspapi;
  641.