JwaLM.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:407k
源码类别:

Windows编程

开发平台:

Delphi

  1.   Flags: DWORD): NET_API_STATUS; stdcall;
  2. {$EXTERNALSYM NetDfsAddStdRoot}
  3. function NetDfsRemoveStdRoot(ServerName: LPWSTR; RootShare: LPWSTR;
  4.   Flags: DWORD): NET_API_STATUS; stdcall;
  5. {$EXTERNALSYM NetDfsRemoveStdRoot}
  6. function NetDfsAddFtRoot(ServerName, RootShare, FtDfsName, Comment: LPWSTR;
  7.   Flags: DWORD): NET_API_STATUS; stdcall;
  8. {$EXTERNALSYM NetDfsAddFtRoot}
  9. function NetDfsRemoveFtRoot(ServerName, RootShare, FtDfsName: LPWSTR;
  10.   Flags: DWORD): NET_API_STATUS; stdcall;
  11. {$EXTERNALSYM NetDfsRemoveFtRoot}
  12. function NetDfsRemoveFtRootForced(DomainName, ServerName, RootShare, FtDfsName: LPWSTR;
  13.   Flags: DWORD): NET_API_STATUS; stdcall;
  14. {$EXTERNALSYM NetDfsRemoveFtRootForced}
  15. // Call to reinitialize the dfsmanager on a machine
  16. function NetDfsManagerInitialize(ServerName: LPWSTR; Flags: DWORD): NET_API_STATUS; stdcall;
  17. {$EXTERNALSYM NetDfsManagerInitialize}
  18. function NetDfsAddStdRootForced(ServerName, RootShare, Comment, Store: LPWSTR): NET_API_STATUS; stdcall;
  19. {$EXTERNALSYM NetDfsAddStdRootForced}
  20. function NetDfsGetDcAddress(ServerName: LPWSTR; DcIpAddress: LPWSTR;
  21.   var IsRoot: Boolean; var Timeout: ULONG): NET_API_STATUS; stdcall;
  22. {$EXTERNALSYM NetDfsGetDcAddress}
  23. function NetDfsSetDcAddress(ServerName: LPWSTR; DcIpAddress: LPWSTR;
  24.   Timeout: ULONG; Flags: DWORD): NET_API_STATUS; stdcall;
  25. {$EXTERNALSYM NetDfsSetDcAddress}
  26. // Flags for NetDfsSetDcAddress()
  27. const
  28.   NET_DFS_SETDC_FLAGS                 = $00000000;
  29.   {$EXTERNALSYM NET_DFS_SETDC_FLAGS}
  30.   NET_DFS_SETDC_TIMEOUT               = $00000001;
  31.   {$EXTERNALSYM NET_DFS_SETDC_TIMEOUT}
  32.   NET_DFS_SETDC_INITPKT               = $00000002;
  33.   {$EXTERNALSYM NET_DFS_SETDC_INITPKT}
  34. // Structures used for site reporting
  35. type
  36.   PDfsSitenameInfo = ^TDfsSitenameInfo;
  37.   DFS_SITENAME_INFO = packed record
  38.     SiteFlags: ULONG;     // Below
  39.     SiteName: LPWSTR;
  40.   end;
  41.   {$EXTERNALSYM DFS_SITENAME_INFO}
  42.   TDfsSitenameInfo = DFS_SITENAME_INFO;
  43. const
  44.   DFS_SITE_PRIMARY    = $1;     // This site returned by DsGetSiteName()
  45.   {$EXTERNALSYM DFS_SITE_PRIMARY}
  46. type
  47.   PDfsSitelistInfo = ^TDfsSitelistInfo;
  48.   DFS_SITELIST_INFO = packed record
  49.     cSites: ULONG;
  50.     Site: TDfsSitenameInfo;
  51.   end;
  52.   {$EXTERNALSYM DFS_SITELIST_INFO}
  53.   TDfsSitelistInfo = DFS_SITELIST_INFO;
  54. // Remove a volume or additional storage for volume from the Dfs at
  55. // DfsEntryPath. When applied to the last storage in a volume, removes
  56. // the volume from the DFS.
  57. function NetDfsRemove(DfsEntryPath, ServerName, ShareName: LPWSTR): NET_API_STATUS; stdcall;
  58. {$EXTERNALSYM NetDfsRemove}
  59. // Get information about all of the volumes in the Dfs. DfsName is
  60. // the "server" part of the UNC name used to refer to this particular Dfs.
  61. //
  62. // Valid levels are 1-4, 200
  63. function NetDfsEnum(DfsName: LPWSTR; Level: DWORD; PrefMaxLen: DWORD;
  64.   Buffer: Pointer; var EntriesRead: DWORD; ResumeHandle: PDWORD): NET_API_STATUS; stdcall;
  65. {$EXTERNALSYM NetDfsEnum}
  66. // Get information about the volume or storage.
  67. // If ServerName and ShareName are specified, the information returned
  68. // is specific to that server and share, else the information is specific
  69. // to the volume as a whole.
  70. //
  71. // Valid levels are 1-4, 100
  72. function NetDfsGetInfo(DfsEntryPath, ServerName, ShareName: LPWSTR;
  73.   Level: DWORD; Buffer: Pointer): NET_API_STATUS; stdcall;
  74. {$EXTERNALSYM NetDfsGetInfo}
  75. // Set info about the volume or storage.
  76. // If ServerName and ShareName are specified, the information set is
  77. // specific to that server and share, else the information is specific
  78. // to the volume as a whole.
  79. //
  80. // Valid levels are 100, 101 and 102
  81. function NetDfsSetInfo(DfsEntryPath, ServerName, ShareName: LPWSTR;
  82.   Level: DWORD; Buffer: Pointer): NET_API_STATUS; stdcall;
  83. {$EXTERNALSYM NetDfsSetInfo}
  84. // Get client's cached information about the volume or storage.
  85. // If ServerName and ShareName are specified, the information returned
  86. // is specific to that server and share, else the information is specific
  87. // to the volume as a whole.
  88. //
  89. // Valid levels are 1-4
  90. function NetDfsGetClientInfo(DfsEntryPath, ServerName, ShareName: LPWSTR;
  91.   Level: DWORD; Buffer: Pointer): NET_API_STATUS; stdcall;
  92. {$EXTERNALSYM NetDfsGetClientInfo}
  93. // Set client's cached info about the volume or storage.
  94. // If ServerName and ShareName are specified, the information set is
  95. // specific to that server and share, else the information is specific
  96. // to the volume as a whole.
  97. //
  98. // Valid levels are 101 and 102.
  99. function NetDfsSetClientInfo(DfsEntryPath, ServerName, ShareName: LPWSTR;
  100.   Level: DWORD; Buffer: Pointer): NET_API_STATUS; stdcall;
  101. {$EXTERNALSYM NetDfsSetClientInfo}
  102. // Move a DFS volume and all subordinate volumes from one place in the
  103. // DFS to another place in the DFS.
  104. function NetDfsMove(DfsEntryPath, DfsNewEntryPath: LPWSTR): NET_API_STATUS; stdcall;
  105. {$EXTERNALSYM NetDfsMove}
  106. function NetDfsRename(Path, NewPath: LPWSTR): NET_API_STATUS; stdcall;
  107. {$EXTERNALSYM NetDfsRename}
  108. implementation
  109. const
  110.   netapi32lib = 'netapi32.dll';
  111.   {$NODEFINE netapi32lib}
  112. // LMACCESS.H
  113. {$IFDEF DYNAMIC_LINK}
  114. var
  115.   _NetUserAdd: Pointer;
  116. function NetUserAdd;
  117. begin
  118.   GetProcedureAddress(_NetUserAdd, netapi32lib, 'NetUserAdd');
  119.   asm
  120.     mov esp, ebp
  121.     pop ebp
  122.     jmp [_NetUserAdd]
  123.   end;
  124. end;
  125. {$ELSE}
  126. function NetUserAdd; external netapi32lib name 'NetUserAdd';
  127. {$ENDIF DYNAMIC_LINK}
  128. {$IFDEF DYNAMIC_LINK}
  129. var
  130.   _NetUserEnum: Pointer;
  131. function NetUserEnum;
  132. begin
  133.   GetProcedureAddress(_NetUserEnum, netapi32lib, 'NetUserEnum');
  134.   asm
  135.     mov esp, ebp
  136.     pop ebp
  137.     jmp [_NetUserEnum]
  138.   end;
  139. end;
  140. {$ELSE}
  141. function NetUserEnum; external netapi32lib name 'NetUserEnum';
  142. {$ENDIF DYNAMIC_LINK}
  143. {$IFDEF DYNAMIC_LINK}
  144. var
  145.   _NetUserGetInfo: Pointer;
  146. function NetUserGetInfo;
  147. begin
  148.   GetProcedureAddress(_NetUserGetInfo, netapi32lib, 'NetUserGetInfo');
  149.   asm
  150.     mov esp, ebp
  151.     pop ebp
  152.     jmp [_NetUserGetInfo]
  153.   end;
  154. end;
  155. {$ELSE}
  156. function NetUserGetInfo; external netapi32lib name 'NetUserGetInfo';
  157. {$ENDIF DYNAMIC_LINK}
  158. {$IFDEF DYNAMIC_LINK}
  159. var
  160.   _NetUserSetInfo: Pointer;
  161. function NetUserSetInfo;
  162. begin
  163.   GetProcedureAddress(_NetUserSetInfo, netapi32lib, 'NetUserSetInfo');
  164.   asm
  165.     mov esp, ebp
  166.     pop ebp
  167.     jmp [_NetUserSetInfo]
  168.   end;
  169. end;
  170. {$ELSE}
  171. function NetUserSetInfo; external netapi32lib name 'NetUserSetInfo';
  172. {$ENDIF DYNAMIC_LINK}
  173. {$IFDEF DYNAMIC_LINK}
  174. var
  175.   _NetUserDel: Pointer;
  176. function NetUserDel;
  177. begin
  178.   GetProcedureAddress(_NetUserDel, netapi32lib, 'NetUserDel');
  179.   asm
  180.     mov esp, ebp
  181.     pop ebp
  182.     jmp [_NetUserDel]
  183.   end;
  184. end;
  185. {$ELSE}
  186. function NetUserDel; external netapi32lib name 'NetUserDel';
  187. {$ENDIF DYNAMIC_LINK}
  188. {$IFDEF DYNAMIC_LINK}
  189. var
  190.   _NetUserGetGroups: Pointer;
  191. function NetUserGetGroups;
  192. begin
  193.   GetProcedureAddress(_NetUserGetGroups, netapi32lib, 'NetUserGetGroups');
  194.   asm
  195.     mov esp, ebp
  196.     pop ebp
  197.     jmp [_NetUserGetGroups]
  198.   end;
  199. end;
  200. {$ELSE}
  201. function NetUserGetGroups; external netapi32lib name 'NetUserGetGroups';
  202. {$ENDIF DYNAMIC_LINK}
  203. {$IFDEF DYNAMIC_LINK}
  204. var
  205.   _NetUserSetGroups: Pointer;
  206. function NetUserSetGroups;
  207. begin
  208.   GetProcedureAddress(_NetUserSetGroups, netapi32lib, 'NetUserSetGroups');
  209.   asm
  210.     mov esp, ebp
  211.     pop ebp
  212.     jmp [_NetUserSetGroups]
  213.   end;
  214. end;
  215. {$ELSE}
  216. function NetUserSetGroups; external netapi32lib name 'NetUserSetGroups';
  217. {$ENDIF DYNAMIC_LINK}
  218. {$IFDEF DYNAMIC_LINK}
  219. var
  220.   _NetUserGetLocalGroups: Pointer;
  221. function NetUserGetLocalGroups;
  222. begin
  223.   GetProcedureAddress(_NetUserGetLocalGroups, netapi32lib, 'NetUserGetLocalGroups');
  224.   asm
  225.     mov esp, ebp
  226.     pop ebp
  227.     jmp [_NetUserGetLocalGroups]
  228.   end;
  229. end;
  230. {$ELSE}
  231. function NetUserGetLocalGroups; external netapi32lib name 'NetUserGetLocalGroups';
  232. {$ENDIF DYNAMIC_LINK}
  233. {$IFDEF DYNAMIC_LINK}
  234. var
  235.   _NetUserModalsGet: Pointer;
  236. function NetUserModalsGet;
  237. begin
  238.   GetProcedureAddress(_NetUserModalsGet, netapi32lib, 'NetUserModalsGet');
  239.   asm
  240.     mov esp, ebp
  241.     pop ebp
  242.     jmp [_NetUserModalsGet]
  243.   end;
  244. end;
  245. {$ELSE}
  246. function NetUserModalsGet; external netapi32lib name 'NetUserModalsGet';
  247. {$ENDIF DYNAMIC_LINK}
  248. {$IFDEF DYNAMIC_LINK}
  249. var
  250.   _NetUserModalsSet: Pointer;
  251. function NetUserModalsSet;
  252. begin
  253.   GetProcedureAddress(_NetUserModalsSet, netapi32lib, 'NetUserModalsSet');
  254.   asm
  255.     mov esp, ebp
  256.     pop ebp
  257.     jmp [_NetUserModalsSet]
  258.   end;
  259. end;
  260. {$ELSE}
  261. function NetUserModalsSet; external netapi32lib name 'NetUserModalsSet';
  262. {$ENDIF DYNAMIC_LINK}
  263. {$IFDEF DYNAMIC_LINK}
  264. var
  265.   _NetUserChangePassword: Pointer;
  266. function NetUserChangePassword;
  267. begin
  268.   GetProcedureAddress(_NetUserChangePassword, netapi32lib, 'NetUserChangePassword');
  269.   asm
  270.     mov esp, ebp
  271.     pop ebp
  272.     jmp [_NetUserChangePassword]
  273.   end;
  274. end;
  275. {$ELSE}
  276. function NetUserChangePassword; external netapi32lib name 'NetUserChangePassword';
  277. {$ENDIF DYNAMIC_LINK}
  278. {$IFDEF DYNAMIC_LINK}
  279. var
  280.   _NetGroupAdd: Pointer;
  281. function NetGroupAdd;
  282. begin
  283.   GetProcedureAddress(_NetGroupAdd, netapi32lib, 'NetGroupAdd');
  284.   asm
  285.     mov esp, ebp
  286.     pop ebp
  287.     jmp [_NetGroupAdd]
  288.   end;
  289. end;
  290. {$ELSE}
  291. function NetGroupAdd; external netapi32lib name 'NetGroupAdd';
  292. {$ENDIF DYNAMIC_LINK}
  293. {$IFDEF DYNAMIC_LINK}
  294. var
  295.   _NetGroupAddUser: Pointer;
  296. function NetGroupAddUser;
  297. begin
  298.   GetProcedureAddress(_NetGroupAddUser, netapi32lib, 'NetGroupAddUser');
  299.   asm
  300.     mov esp, ebp
  301.     pop ebp
  302.     jmp [_NetGroupAddUser]
  303.   end;
  304. end;
  305. {$ELSE}
  306. function NetGroupAddUser; external netapi32lib name 'NetGroupAddUser';
  307. {$ENDIF DYNAMIC_LINK}
  308. {$IFDEF DYNAMIC_LINK}
  309. var
  310.   _NetGroupEnum: Pointer;
  311. function NetGroupEnum;
  312. begin
  313.   GetProcedureAddress(_NetGroupEnum, netapi32lib, 'NetGroupEnum');
  314.   asm
  315.     mov esp, ebp
  316.     pop ebp
  317.     jmp [_NetGroupEnum]
  318.   end;
  319. end;
  320. {$ELSE}
  321. function NetGroupEnum; external netapi32lib name 'NetGroupEnum';
  322. {$ENDIF DYNAMIC_LINK}
  323. {$IFDEF DYNAMIC_LINK}
  324. var
  325.   _NetGroupGetInfo: Pointer;
  326. function NetGroupGetInfo;
  327. begin
  328.   GetProcedureAddress(_NetGroupGetInfo, netapi32lib, 'NetGroupGetInfo');
  329.   asm
  330.     mov esp, ebp
  331.     pop ebp
  332.     jmp [_NetGroupGetInfo]
  333.   end;
  334. end;
  335. {$ELSE}
  336. function NetGroupGetInfo; external netapi32lib name 'NetGroupGetInfo';
  337. {$ENDIF DYNAMIC_LINK}
  338. {$IFDEF DYNAMIC_LINK}
  339. var
  340.   _NetGroupSetInfo: Pointer;
  341. function NetGroupSetInfo;
  342. begin
  343.   GetProcedureAddress(_NetGroupSetInfo, netapi32lib, 'NetGroupSetInfo');
  344.   asm
  345.     mov esp, ebp
  346.     pop ebp
  347.     jmp [_NetGroupSetInfo]
  348.   end;
  349. end;
  350. {$ELSE}
  351. function NetGroupSetInfo; external netapi32lib name 'NetGroupSetInfo';
  352. {$ENDIF DYNAMIC_LINK}
  353. {$IFDEF DYNAMIC_LINK}
  354. var
  355.   _NetGroupDel: Pointer;
  356. function NetGroupDel;
  357. begin
  358.   GetProcedureAddress(_NetGroupDel, netapi32lib, 'NetGroupDel');
  359.   asm
  360.     mov esp, ebp
  361.     pop ebp
  362.     jmp [_NetGroupDel]
  363.   end;
  364. end;
  365. {$ELSE}
  366. function NetGroupDel; external netapi32lib name 'NetGroupDel';
  367. {$ENDIF DYNAMIC_LINK}
  368. {$IFDEF DYNAMIC_LINK}
  369. var
  370.   _NetGroupDelUser: Pointer;
  371. function NetGroupDelUser;
  372. begin
  373.   GetProcedureAddress(_NetGroupDelUser, netapi32lib, 'NetGroupDelUser');
  374.   asm
  375.     mov esp, ebp
  376.     pop ebp
  377.     jmp [_NetGroupDelUser]
  378.   end;
  379. end;
  380. {$ELSE}
  381. function NetGroupDelUser; external netapi32lib name 'NetGroupDelUser';
  382. {$ENDIF DYNAMIC_LINK}
  383. {$IFDEF DYNAMIC_LINK}
  384. var
  385.   _NetGroupGetUsers: Pointer;
  386. function NetGroupGetUsers;
  387. begin
  388.   GetProcedureAddress(_NetGroupGetUsers, netapi32lib, 'NetGroupGetUsers');
  389.   asm
  390.     mov esp, ebp
  391.     pop ebp
  392.     jmp [_NetGroupGetUsers]
  393.   end;
  394. end;
  395. {$ELSE}
  396. function NetGroupGetUsers; external netapi32lib name 'NetGroupGetUsers';
  397. {$ENDIF DYNAMIC_LINK}
  398. {$IFDEF DYNAMIC_LINK}
  399. var
  400.   _NetGroupSetUsers: Pointer;
  401. function NetGroupSetUsers;
  402. begin
  403.   GetProcedureAddress(_NetGroupSetUsers, netapi32lib, 'NetGroupSetUsers');
  404.   asm
  405.     mov esp, ebp
  406.     pop ebp
  407.     jmp [_NetGroupSetUsers]
  408.   end;
  409. end;
  410. {$ELSE}
  411. function NetGroupSetUsers; external netapi32lib name 'NetGroupSetUsers';
  412. {$ENDIF DYNAMIC_LINK}
  413. {$IFDEF DYNAMIC_LINK}
  414. var
  415.   _NetLocalGroupAdd: Pointer;
  416. function NetLocalGroupAdd;
  417. begin
  418.   GetProcedureAddress(_NetLocalGroupAdd, netapi32lib, 'NetLocalGroupAdd');
  419.   asm
  420.     mov esp, ebp
  421.     pop ebp
  422.     jmp [_NetLocalGroupAdd]
  423.   end;
  424. end;
  425. {$ELSE}
  426. function NetLocalGroupAdd; external netapi32lib name 'NetLocalGroupAdd';
  427. {$ENDIF DYNAMIC_LINK}
  428. {$IFDEF DYNAMIC_LINK}
  429. var
  430.   _NetLocalGroupAddMember: Pointer;
  431. function NetLocalGroupAddMember;
  432. begin
  433.   GetProcedureAddress(_NetLocalGroupAddMember, netapi32lib, 'NetLocalGroupAddMember');
  434.   asm
  435.     mov esp, ebp
  436.     pop ebp
  437.     jmp [_NetLocalGroupAddMember]
  438.   end;
  439. end;
  440. {$ELSE}
  441. function NetLocalGroupAddMember; external netapi32lib name 'NetLocalGroupAddMember';
  442. {$ENDIF DYNAMIC_LINK}
  443. {$IFDEF DYNAMIC_LINK}
  444. var
  445.   _NetLocalGroupEnum: Pointer;
  446. function NetLocalGroupEnum;
  447. begin
  448.   GetProcedureAddress(_NetLocalGroupEnum, netapi32lib, 'NetLocalGroupEnum');
  449.   asm
  450.     mov esp, ebp
  451.     pop ebp
  452.     jmp [_NetLocalGroupEnum]
  453.   end;
  454. end;
  455. {$ELSE}
  456. function NetLocalGroupEnum; external netapi32lib name 'NetLocalGroupEnum';
  457. {$ENDIF DYNAMIC_LINK}
  458. {$IFDEF DYNAMIC_LINK}
  459. var
  460.   _NetLocalGroupGetInfo: Pointer;
  461. function NetLocalGroupGetInfo;
  462. begin
  463.   GetProcedureAddress(_NetLocalGroupGetInfo, netapi32lib, 'NetLocalGroupGetInfo');
  464.   asm
  465.     mov esp, ebp
  466.     pop ebp
  467.     jmp [_NetLocalGroupGetInfo]
  468.   end;
  469. end;
  470. {$ELSE}
  471. function NetLocalGroupGetInfo; external netapi32lib name 'NetLocalGroupGetInfo';
  472. {$ENDIF DYNAMIC_LINK}
  473. {$IFDEF DYNAMIC_LINK}
  474. var
  475.   _NetLocalGroupSetInfo: Pointer;
  476. function NetLocalGroupSetInfo;
  477. begin
  478.   GetProcedureAddress(_NetLocalGroupSetInfo, netapi32lib, 'NetLocalGroupSetInfo');
  479.   asm
  480.     mov esp, ebp
  481.     pop ebp
  482.     jmp [_NetLocalGroupSetInfo]
  483.   end;
  484. end;
  485. {$ELSE}
  486. function NetLocalGroupSetInfo; external netapi32lib name 'NetLocalGroupSetInfo';
  487. {$ENDIF DYNAMIC_LINK}
  488. {$IFDEF DYNAMIC_LINK}
  489. var
  490.   _NetLocalGroupDel: Pointer;
  491. function NetLocalGroupDel;
  492. begin
  493.   GetProcedureAddress(_NetLocalGroupDel, netapi32lib, 'NetLocalGroupDel');
  494.   asm
  495.     mov esp, ebp
  496.     pop ebp
  497.     jmp [_NetLocalGroupDel]
  498.   end;
  499. end;
  500. {$ELSE}
  501. function NetLocalGroupDel; external netapi32lib name 'NetLocalGroupDel';
  502. {$ENDIF DYNAMIC_LINK}
  503. {$IFDEF DYNAMIC_LINK}
  504. var
  505.   _NetLocalGroupDelMember: Pointer;
  506. function NetLocalGroupDelMember;
  507. begin
  508.   GetProcedureAddress(_NetLocalGroupDelMember, netapi32lib, 'NetLocalGroupDelMember');
  509.   asm
  510.     mov esp, ebp
  511.     pop ebp
  512.     jmp [_NetLocalGroupDelMember]
  513.   end;
  514. end;
  515. {$ELSE}
  516. function NetLocalGroupDelMember; external netapi32lib name 'NetLocalGroupDelMember';
  517. {$ENDIF DYNAMIC_LINK}
  518. {$IFDEF DYNAMIC_LINK}
  519. var
  520.   _NetLocalGroupGetMembers: Pointer;
  521. function NetLocalGroupGetMembers;
  522. begin
  523.   GetProcedureAddress(_NetLocalGroupGetMembers, netapi32lib, 'NetLocalGroupGetMembers');
  524.   asm
  525.     mov esp, ebp
  526.     pop ebp
  527.     jmp [_NetLocalGroupGetMembers]
  528.   end;
  529. end;
  530. {$ELSE}
  531. function NetLocalGroupGetMembers; external netapi32lib name 'NetLocalGroupGetMembers';
  532. {$ENDIF DYNAMIC_LINK}
  533. {$IFDEF DYNAMIC_LINK}
  534. var
  535.   _NetLocalGroupSetMembers: Pointer;
  536. function NetLocalGroupSetMembers;
  537. begin
  538.   GetProcedureAddress(_NetLocalGroupSetMembers, netapi32lib, 'NetLocalGroupSetMembers');
  539.   asm
  540.     mov esp, ebp
  541.     pop ebp
  542.     jmp [_NetLocalGroupSetMembers]
  543.   end;
  544. end;
  545. {$ELSE}
  546. function NetLocalGroupSetMembers; external netapi32lib name 'NetLocalGroupSetMembers';
  547. {$ENDIF DYNAMIC_LINK}
  548. {$IFDEF DYNAMIC_LINK}
  549. var
  550.   _NetLocalGroupAddMembers: Pointer;
  551. function NetLocalGroupAddMembers;
  552. begin
  553.   GetProcedureAddress(_NetLocalGroupAddMembers, netapi32lib, 'NetLocalGroupAddMembers');
  554.   asm
  555.     mov esp, ebp
  556.     pop ebp
  557.     jmp [_NetLocalGroupAddMembers]
  558.   end;
  559. end;
  560. {$ELSE}
  561. function NetLocalGroupAddMembers; external netapi32lib name 'NetLocalGroupAddMembers';
  562. {$ENDIF DYNAMIC_LINK}
  563. {$IFDEF DYNAMIC_LINK}
  564. var
  565.   _NetLocalGroupDelMembers: Pointer;
  566. function NetLocalGroupDelMembers;
  567. begin
  568.   GetProcedureAddress(_NetLocalGroupDelMembers, netapi32lib, 'NetLocalGroupDelMembers');
  569.   asm
  570.     mov esp, ebp
  571.     pop ebp
  572.     jmp [_NetLocalGroupDelMembers]
  573.   end;
  574. end;
  575. {$ELSE}
  576. function NetLocalGroupDelMembers; external netapi32lib name 'NetLocalGroupDelMembers';
  577. {$ENDIF DYNAMIC_LINK}
  578. {$IFDEF DYNAMIC_LINK}
  579. var
  580.   _NetQueryDisplayInformation: Pointer;
  581. function NetQueryDisplayInformation;
  582. begin
  583.   GetProcedureAddress(_NetQueryDisplayInformation, netapi32lib, 'NetQueryDisplayInformation');
  584.   asm
  585.     mov esp, ebp
  586.     pop ebp
  587.     jmp [_NetQueryDisplayInformation]
  588.   end;
  589. end;
  590. {$ELSE}
  591. function NetQueryDisplayInformation; external netapi32lib name 'NetQueryDisplayInformation';
  592. {$ENDIF DYNAMIC_LINK}
  593. {$IFDEF DYNAMIC_LINK}
  594. var
  595.   _NetGetDisplayInformationIndex: Pointer;
  596. function NetGetDisplayInformationIndex;
  597. begin
  598.   GetProcedureAddress(_NetGetDisplayInformationIndex, netapi32lib, 'NetGetDisplayInformationIndex');
  599.   asm
  600.     mov esp, ebp
  601.     pop ebp
  602.     jmp [_NetGetDisplayInformationIndex]
  603.   end;
  604. end;
  605. {$ELSE}
  606. function NetGetDisplayInformationIndex; external netapi32lib name 'NetGetDisplayInformationIndex';
  607. {$ENDIF DYNAMIC_LINK}
  608. {$IFDEF DYNAMIC_LINK}
  609. var
  610.   _NetAccessAdd: Pointer;
  611. function NetAccessAdd;
  612. begin
  613.   GetProcedureAddress(_NetAccessAdd, netapi32lib, 'NetAccessAdd');
  614.   asm
  615.     mov esp, ebp
  616.     pop ebp
  617.     jmp [_NetAccessAdd]
  618.   end;
  619. end;
  620. {$ELSE}
  621. function NetAccessAdd; external netapi32lib name 'NetAccessAdd';
  622. {$ENDIF DYNAMIC_LINK}
  623. {$IFDEF DYNAMIC_LINK}
  624. var
  625.   _NetAccessEnum: Pointer;
  626. function NetAccessEnum;
  627. begin
  628.   GetProcedureAddress(_NetAccessEnum, netapi32lib, 'NetAccessEnum');
  629.   asm
  630.     mov esp, ebp
  631.     pop ebp
  632.     jmp [_NetAccessEnum]
  633.   end;
  634. end;
  635. {$ELSE}
  636. function NetAccessEnum; external netapi32lib name 'NetAccessEnum';
  637. {$ENDIF DYNAMIC_LINK}
  638. {$IFDEF DYNAMIC_LINK}
  639. var
  640.   _NetAccessGetInfo: Pointer;
  641. function NetAccessGetInfo;
  642. begin
  643.   GetProcedureAddress(_NetAccessGetInfo, netapi32lib, 'NetAccessGetInfo');
  644.   asm
  645.     mov esp, ebp
  646.     pop ebp
  647.     jmp [_NetAccessGetInfo]
  648.   end;
  649. end;
  650. {$ELSE}
  651. function NetAccessGetInfo; external netapi32lib name 'NetAccessGetInfo';
  652. {$ENDIF DYNAMIC_LINK}
  653. {$IFDEF DYNAMIC_LINK}
  654. var
  655.   _NetAccessSetInfo: Pointer;
  656. function NetAccessSetInfo;
  657. begin
  658.   GetProcedureAddress(_NetAccessSetInfo, netapi32lib, 'NetAccessSetInfo');
  659.   asm
  660.     mov esp, ebp
  661.     pop ebp
  662.     jmp [_NetAccessSetInfo]
  663.   end;
  664. end;
  665. {$ELSE}
  666. function NetAccessSetInfo; external netapi32lib name 'NetAccessSetInfo';
  667. {$ENDIF DYNAMIC_LINK}
  668. {$IFDEF DYNAMIC_LINK}
  669. var
  670.   _NetAccessDel: Pointer;
  671. function NetAccessDel;
  672. begin
  673.   GetProcedureAddress(_NetAccessDel, netapi32lib, 'NetAccessDel');
  674.   asm
  675.     mov esp, ebp
  676.     pop ebp
  677.     jmp [_NetAccessDel]
  678.   end;
  679. end;
  680. {$ELSE}
  681. function NetAccessDel; external netapi32lib name 'NetAccessDel';
  682. {$ENDIF DYNAMIC_LINK}
  683. {$IFDEF DYNAMIC_LINK}
  684. var
  685.   _NetAccessGetUserPerms: Pointer;
  686. function NetAccessGetUserPerms;
  687. begin
  688.   GetProcedureAddress(_NetAccessGetUserPerms, netapi32lib, 'NetAccessGetUserPerms');
  689.   asm
  690.     mov esp, ebp
  691.     pop ebp
  692.     jmp [_NetAccessGetUserPerms]
  693.   end;
  694. end;
  695. {$ELSE}
  696. function NetAccessGetUserPerms; external netapi32lib name 'NetAccessGetUserPerms';
  697. {$ENDIF DYNAMIC_LINK}
  698. {$IFDEF DYNAMIC_LINK}
  699. var
  700.   _NetGetDCName: Pointer;
  701. function NetGetDCName;
  702. begin
  703.   GetProcedureAddress(_NetGetDCName, netapi32lib, 'NetGetDCName');
  704.   asm
  705.     mov esp, ebp
  706.     pop ebp
  707.     jmp [_NetGetDCName]
  708.   end;
  709. end;
  710. {$ELSE}
  711. function NetGetDCName; external netapi32lib name 'NetGetDCName';
  712. {$ENDIF DYNAMIC_LINK}
  713. {$IFDEF DYNAMIC_LINK}
  714. var
  715.   _NetGetAnyDCName: Pointer;
  716. function NetGetAnyDCName;
  717. begin
  718.   GetProcedureAddress(_NetGetAnyDCName, netapi32lib, 'NetGetAnyDCName');
  719.   asm
  720.     mov esp, ebp
  721.     pop ebp
  722.     jmp [_NetGetAnyDCName]
  723.   end;
  724. end;
  725. {$ELSE}
  726. function NetGetAnyDCName; external netapi32lib name 'NetGetAnyDCName';
  727. {$ENDIF DYNAMIC_LINK}
  728. {$IFDEF DYNAMIC_LINK}
  729. var
  730.   _I_NetLogonControl: Pointer;
  731. function I_NetLogonControl;
  732. begin
  733.   GetProcedureAddress(_I_NetLogonControl, netapi32lib, 'I_NetLogonControl');
  734.   asm
  735.     mov esp, ebp
  736.     pop ebp
  737.     jmp [_I_NetLogonControl]
  738.   end;
  739. end;
  740. {$ELSE}
  741. function I_NetLogonControl; external netapi32lib name 'I_NetLogonControl';
  742. {$ENDIF DYNAMIC_LINK}
  743. {$IFDEF DYNAMIC_LINK}
  744. var
  745.   _I_NetLogonControl2: Pointer;
  746. function I_NetLogonControl2;
  747. begin
  748.   GetProcedureAddress(_I_NetLogonControl2, netapi32lib, 'I_NetLogonControl2');
  749.   asm
  750.     mov esp, ebp
  751.     pop ebp
  752.     jmp [_I_NetLogonControl2]
  753.   end;
  754. end;
  755. {$ELSE}
  756. function I_NetLogonControl2; external netapi32lib name 'I_NetLogonControl2';
  757. {$ENDIF DYNAMIC_LINK}
  758. {$IFDEF DYNAMIC_LINK}
  759. var
  760.   _NetEnumerateTrustedDomains: Pointer;
  761. function NetEnumerateTrustedDomains;
  762. begin
  763.   GetProcedureAddress(_NetEnumerateTrustedDomains, netapi32lib, 'NetEnumerateTrustedDomains');
  764.   asm
  765.     mov esp, ebp
  766.     pop ebp
  767.     jmp [_NetEnumerateTrustedDomains]
  768.   end;
  769. end;
  770. {$ELSE}
  771. function NetEnumerateTrustedDomains; external netapi32lib name 'NetEnumerateTrustedDomains';
  772. {$ENDIF DYNAMIC_LINK}
  773. // LMALERT.H
  774. function ALERT_OTHER_INFO(x: Pointer): Pointer;
  775. begin
  776.   Result := PChar(x) + Sizeof(STD_ALERT);
  777. end;
  778. function ALERT_VAR_DATA(const p): Pointer;
  779. begin
  780.   Result := PChar(p) + Sizeof(p);
  781. end;
  782. {$IFDEF DYNAMIC_LINK}
  783. var
  784.   _NetAlertRaise: Pointer;
  785. function NetAlertRaise;
  786. begin
  787.   GetProcedureAddress(_NetAlertRaise, netapi32lib, 'NetAlertRaise');
  788.   asm
  789.     mov esp, ebp
  790.     pop ebp
  791.     jmp [_NetAlertRaise]
  792.   end;
  793. end;
  794. {$ELSE}
  795. function NetAlertRaise; external netapi32lib name 'NetAlertRaise';
  796. {$ENDIF DYNAMIC_LINK}
  797. {$IFDEF DYNAMIC_LINK}
  798. var
  799.   _NetAlertRaiseEx: Pointer;
  800. function NetAlertRaiseEx;
  801. begin
  802.   GetProcedureAddress(_NetAlertRaiseEx, netapi32lib, 'NetAlertRaiseEx');
  803.   asm
  804.     mov esp, ebp
  805.     pop ebp
  806.     jmp [_NetAlertRaiseEx]
  807.   end;
  808. end;
  809. {$ELSE}
  810. function NetAlertRaiseEx; external netapi32lib name 'NetAlertRaiseEx';
  811. {$ENDIF DYNAMIC_LINK}
  812. // LMSHARE.H
  813. {$IFDEF DYNAMIC_LINK}
  814. var
  815.   _NetShareAdd: Pointer;
  816. function NetShareAdd;
  817. begin
  818.   GetProcedureAddress(_NetShareAdd, netapi32lib, 'NetShareAdd');
  819.   asm
  820.     mov esp, ebp
  821.     pop ebp
  822.     jmp [_NetShareAdd]
  823.   end;
  824. end;
  825. {$ELSE}
  826. function NetShareAdd; external netapi32lib name 'NetShareAdd';
  827. {$ENDIF DYNAMIC_LINK}
  828. {$IFDEF DYNAMIC_LINK}
  829. var
  830.   _NetShareEnum: Pointer;
  831. function NetShareEnum;
  832. begin
  833.   GetProcedureAddress(_NetShareEnum, netapi32lib, 'NetShareEnum');
  834.   asm
  835.     mov esp, ebp
  836.     pop ebp
  837.     jmp [_NetShareEnum]
  838.   end;
  839. end;
  840. {$ELSE}
  841. function NetShareEnum; external netapi32lib name 'NetShareEnum';
  842. {$ENDIF DYNAMIC_LINK}
  843. {$IFDEF DYNAMIC_LINK}
  844. var
  845.   _NetShareEnumSticky: Pointer;
  846. function NetShareEnumSticky;
  847. begin
  848.   GetProcedureAddress(_NetShareEnumSticky, netapi32lib, 'NetShareEnumSticky');
  849.   asm
  850.     mov esp, ebp
  851.     pop ebp
  852.     jmp [_NetShareEnumSticky]
  853.   end;
  854. end;
  855. {$ELSE}
  856. function NetShareEnumSticky; external netapi32lib name 'NetShareEnumSticky';
  857. {$ENDIF DYNAMIC_LINK}
  858. {$IFDEF DYNAMIC_LINK}
  859. var
  860.   _NetShareGetInfo: Pointer;
  861. function NetShareGetInfo;
  862. begin
  863.   GetProcedureAddress(_NetShareGetInfo, netapi32lib, 'NetShareGetInfo');
  864.   asm
  865.     mov esp, ebp
  866.     pop ebp
  867.     jmp [_NetShareGetInfo]
  868.   end;
  869. end;
  870. {$ELSE}
  871. function NetShareGetInfo; external netapi32lib name 'NetShareGetInfo';
  872. {$ENDIF DYNAMIC_LINK}
  873. {$IFDEF DYNAMIC_LINK}
  874. var
  875.   _NetShareSetInfo: Pointer;
  876. function NetShareSetInfo;
  877. begin
  878.   GetProcedureAddress(_NetShareSetInfo, netapi32lib, 'NetShareSetInfo');
  879.   asm
  880.     mov esp, ebp
  881.     pop ebp
  882.     jmp [_NetShareSetInfo]
  883.   end;
  884. end;
  885. {$ELSE}
  886. function NetShareSetInfo; external netapi32lib name 'NetShareSetInfo';
  887. {$ENDIF DYNAMIC_LINK}
  888. {$IFDEF DYNAMIC_LINK}
  889. var
  890.   _NetShareDel: Pointer;
  891. function NetShareDel;
  892. begin
  893.   GetProcedureAddress(_NetShareDel, netapi32lib, 'NetShareDel');
  894.   asm
  895.     mov esp, ebp
  896.     pop ebp
  897.     jmp [_NetShareDel]
  898.   end;
  899. end;
  900. {$ELSE}
  901. function NetShareDel; external netapi32lib name 'NetShareDel';
  902. {$ENDIF DYNAMIC_LINK}
  903. {$IFDEF DYNAMIC_LINK}
  904. var
  905.   _NetShareDelSticky: Pointer;
  906. function NetShareDelSticky;
  907. begin
  908.   GetProcedureAddress(_NetShareDelSticky, netapi32lib, 'NetShareDelSticky');
  909.   asm
  910.     mov esp, ebp
  911.     pop ebp
  912.     jmp [_NetShareDelSticky]
  913.   end;
  914. end;
  915. {$ELSE}
  916. function NetShareDelSticky; external netapi32lib name 'NetShareDelSticky';
  917. {$ENDIF DYNAMIC_LINK}
  918. {$IFDEF DYNAMIC_LINK}
  919. var
  920.   _NetShareCheck: Pointer;
  921. function NetShareCheck;
  922. begin
  923.   GetProcedureAddress(_NetShareCheck, netapi32lib, 'NetShareCheck');
  924.   asm
  925.     mov esp, ebp
  926.     pop ebp
  927.     jmp [_NetShareCheck]
  928.   end;
  929. end;
  930. {$ELSE}
  931. function NetShareCheck; external netapi32lib name 'NetShareCheck';
  932. {$ENDIF DYNAMIC_LINK}
  933. {$IFDEF DYNAMIC_LINK}
  934. var
  935.   _NetSessionEnum: Pointer;
  936. function NetSessionEnum;
  937. begin
  938.   GetProcedureAddress(_NetSessionEnum, netapi32lib, 'NetSessionEnum');
  939.   asm
  940.     mov esp, ebp
  941.     pop ebp
  942.     jmp [_NetSessionEnum]
  943.   end;
  944. end;
  945. {$ELSE}
  946. function NetSessionEnum; external netapi32lib name 'NetSessionEnum';
  947. {$ENDIF DYNAMIC_LINK}
  948. {$IFDEF DYNAMIC_LINK}
  949. var
  950.   _NetSessionDel: Pointer;
  951. function NetSessionDel;
  952. begin
  953.   GetProcedureAddress(_NetSessionDel, netapi32lib, 'NetSessionDel');
  954.   asm
  955.     mov esp, ebp
  956.     pop ebp
  957.     jmp [_NetSessionDel]
  958.   end;
  959. end;
  960. {$ELSE}
  961. function NetSessionDel; external netapi32lib name 'NetSessionDel';
  962. {$ENDIF DYNAMIC_LINK}
  963. {$IFDEF DYNAMIC_LINK}
  964. var
  965.   _NetSessionGetInfo: Pointer;
  966. function NetSessionGetInfo;
  967. begin
  968.   GetProcedureAddress(_NetSessionGetInfo, netapi32lib, 'NetSessionGetInfo');
  969.   asm
  970.     mov esp, ebp
  971.     pop ebp
  972.     jmp [_NetSessionGetInfo]
  973.   end;
  974. end;
  975. {$ELSE}
  976. function NetSessionGetInfo; external netapi32lib name 'NetSessionGetInfo';
  977. {$ENDIF DYNAMIC_LINK}
  978. {$IFDEF DYNAMIC_LINK}
  979. var
  980.   _NetConnectionEnum: Pointer;
  981. function NetConnectionEnum;
  982. begin
  983.   GetProcedureAddress(_NetConnectionEnum, netapi32lib, 'NetConnectionEnum');
  984.   asm
  985.     mov esp, ebp
  986.     pop ebp
  987.     jmp [_NetConnectionEnum]
  988.   end;
  989. end;
  990. {$ELSE}
  991. function NetConnectionEnum; external netapi32lib name 'NetConnectionEnum';
  992. {$ENDIF DYNAMIC_LINK}
  993. {$IFDEF DYNAMIC_LINK}
  994. var
  995.   _NetFileClose: Pointer;
  996. function NetFileClose;
  997. begin
  998.   GetProcedureAddress(_NetFileClose, netapi32lib, 'NetFileClose');
  999.   asm
  1000.     mov esp, ebp
  1001.     pop ebp
  1002.     jmp [_NetFileClose]
  1003.   end;
  1004. end;
  1005. {$ELSE}
  1006. function NetFileClose; external netapi32lib name 'NetFileClose';
  1007. {$ENDIF DYNAMIC_LINK}
  1008. {$IFDEF DYNAMIC_LINK}
  1009. var
  1010.   _NetFileEnum: Pointer;
  1011. function NetFileEnum;
  1012. begin
  1013.   GetProcedureAddress(_NetFileEnum, netapi32lib, 'NetFileEnum');
  1014.   asm
  1015.     mov esp, ebp
  1016.     pop ebp
  1017.     jmp [_NetFileEnum]
  1018.   end;
  1019. end;
  1020. {$ELSE}
  1021. function NetFileEnum; external netapi32lib name 'NetFileEnum';
  1022. {$ENDIF DYNAMIC_LINK}
  1023. {$IFDEF DYNAMIC_LINK}
  1024. var
  1025.   _NetFileGetInfo: Pointer;
  1026. function NetFileGetInfo;
  1027. begin
  1028.   GetProcedureAddress(_NetFileGetInfo, netapi32lib, 'NetFileGetInfo');
  1029.   asm
  1030.     mov esp, ebp
  1031.     pop ebp
  1032.     jmp [_NetFileGetInfo]
  1033.   end;
  1034. end;
  1035. {$ELSE}
  1036. function NetFileGetInfo; external netapi32lib name 'NetFileGetInfo';
  1037. {$ENDIF DYNAMIC_LINK}
  1038. // LMMSG.H
  1039. {$IFDEF DYNAMIC_LINK}
  1040. var
  1041.   _NetMessageNameAdd: Pointer;
  1042. function NetMessageNameAdd;
  1043. begin
  1044.   GetProcedureAddress(_NetMessageNameAdd, netapi32lib, 'NetMessageNameAdd');
  1045.   asm
  1046.     mov esp, ebp
  1047.     pop ebp
  1048.     jmp [_NetMessageNameAdd]
  1049.   end;
  1050. end;
  1051. {$ELSE}
  1052. function NetMessageNameAdd; external netapi32lib name 'NetMessageNameAdd';
  1053. {$ENDIF DYNAMIC_LINK}
  1054. {$IFDEF DYNAMIC_LINK}
  1055. var
  1056.   _NetMessageNameEnum: Pointer;
  1057. function NetMessageNameEnum;
  1058. begin
  1059.   GetProcedureAddress(_NetMessageNameEnum, netapi32lib, 'NetMessageNameEnum');
  1060.   asm
  1061.     mov esp, ebp
  1062.     pop ebp
  1063.     jmp [_NetMessageNameEnum]
  1064.   end;
  1065. end;
  1066. {$ELSE}
  1067. function NetMessageNameEnum; external netapi32lib name 'NetMessageNameEnum';
  1068. {$ENDIF DYNAMIC_LINK}
  1069. {$IFDEF DYNAMIC_LINK}
  1070. var
  1071.   _NetMessageNameGetInfo: Pointer;
  1072. function NetMessageNameGetInfo;
  1073. begin
  1074.   GetProcedureAddress(_NetMessageNameGetInfo, netapi32lib, 'NetMessageNameGetInfo');
  1075.   asm
  1076.     mov esp, ebp
  1077.     pop ebp
  1078.     jmp [_NetMessageNameGetInfo]
  1079.   end;
  1080. end;
  1081. {$ELSE}
  1082. function NetMessageNameGetInfo; external netapi32lib name 'NetMessageNameGetInfo';
  1083. {$ENDIF DYNAMIC_LINK}
  1084. {$IFDEF DYNAMIC_LINK}
  1085. var
  1086.   _NetMessageNameDel: Pointer;
  1087. function NetMessageNameDel;
  1088. begin
  1089.   GetProcedureAddress(_NetMessageNameDel, netapi32lib, 'NetMessageNameDel');
  1090.   asm
  1091.     mov esp, ebp
  1092.     pop ebp
  1093.     jmp [_NetMessageNameDel]
  1094.   end;
  1095. end;
  1096. {$ELSE}
  1097. function NetMessageNameDel; external netapi32lib name 'NetMessageNameDel';
  1098. {$ENDIF DYNAMIC_LINK}
  1099. {$IFDEF DYNAMIC_LINK}
  1100. var
  1101.   _NetMessageBufferSend: Pointer;
  1102. function NetMessageBufferSend;
  1103. begin
  1104.   GetProcedureAddress(_NetMessageBufferSend, netapi32lib, 'NetMessageBufferSend');
  1105.   asm
  1106.     mov esp, ebp
  1107.     pop ebp
  1108.     jmp [_NetMessageBufferSend]
  1109.   end;
  1110. end;
  1111. {$ELSE}
  1112. function NetMessageBufferSend; external netapi32lib name 'NetMessageBufferSend';
  1113. {$ENDIF DYNAMIC_LINK}
  1114. // LMREMUTL.H
  1115. {$IFDEF DYNAMIC_LINK}
  1116. var
  1117.   _NetRemoteTOD: Pointer;
  1118. function NetRemoteTOD;
  1119. begin
  1120.   GetProcedureAddress(_NetRemoteTOD, netapi32lib, 'NetRemoteTOD');
  1121.   asm
  1122.     mov esp, ebp
  1123.     pop ebp
  1124.     jmp [_NetRemoteTOD]
  1125.   end;
  1126. end;
  1127. {$ELSE}
  1128. function NetRemoteTOD; external netapi32lib name 'NetRemoteTOD';
  1129. {$ENDIF DYNAMIC_LINK}
  1130. {$IFDEF DYNAMIC_LINK}
  1131. var
  1132.   _NetRemoteComputerSupports: Pointer;
  1133. function NetRemoteComputerSupports;
  1134. begin
  1135.   GetProcedureAddress(_NetRemoteComputerSupports, netapi32lib, 'NetRemoteComputerSupports');
  1136.   asm
  1137.     mov esp, ebp
  1138.     pop ebp
  1139.     jmp [_NetRemoteComputerSupports]
  1140.   end;
  1141. end;
  1142. {$ELSE}
  1143. function NetRemoteComputerSupports; external netapi32lib name 'NetRemoteComputerSupports';
  1144. {$ENDIF DYNAMIC_LINK}
  1145. // LMREPL.H
  1146. {$IFDEF DYNAMIC_LINK}
  1147. var
  1148.   _NetReplGetInfo: Pointer;
  1149. function NetReplGetInfo;
  1150. begin
  1151.   GetProcedureAddress(_NetReplGetInfo, netapi32lib, 'NetReplGetInfo');
  1152.   asm
  1153.     mov esp, ebp
  1154.     pop ebp
  1155.     jmp [_NetReplGetInfo]
  1156.   end;
  1157. end;
  1158. {$ELSE}
  1159. function NetReplGetInfo; external netapi32lib name 'NetReplGetInfo';
  1160. {$ENDIF DYNAMIC_LINK}
  1161. {$IFDEF DYNAMIC_LINK}
  1162. var
  1163.   _NetReplSetInfo: Pointer;
  1164. function NetReplSetInfo;
  1165. begin
  1166.   GetProcedureAddress(_NetReplSetInfo, netapi32lib, 'NetReplSetInfo');
  1167.   asm
  1168.     mov esp, ebp
  1169.     pop ebp
  1170.     jmp [_NetReplSetInfo]
  1171.   end;
  1172. end;
  1173. {$ELSE}
  1174. function NetReplSetInfo; external netapi32lib name 'NetReplSetInfo';
  1175. {$ENDIF DYNAMIC_LINK}
  1176. {$IFDEF DYNAMIC_LINK}
  1177. var
  1178.   _NetReplExportDirAdd: Pointer;
  1179. function NetReplExportDirAdd;
  1180. begin
  1181.   GetProcedureAddress(_NetReplExportDirAdd, netapi32lib, 'NetReplExportDirAdd');
  1182.   asm
  1183.     mov esp, ebp
  1184.     pop ebp
  1185.     jmp [_NetReplExportDirAdd]
  1186.   end;
  1187. end;
  1188. {$ELSE}
  1189. function NetReplExportDirAdd; external netapi32lib name 'NetReplExportDirAdd';
  1190. {$ENDIF DYNAMIC_LINK}
  1191. {$IFDEF DYNAMIC_LINK}
  1192. var
  1193.   _NetReplExportDirDel: Pointer;
  1194. function NetReplExportDirDel;
  1195. begin
  1196.   GetProcedureAddress(_NetReplExportDirDel, netapi32lib, 'NetReplExportDirDel');
  1197.   asm
  1198.     mov esp, ebp
  1199.     pop ebp
  1200.     jmp [_NetReplExportDirDel]
  1201.   end;
  1202. end;
  1203. {$ELSE}
  1204. function NetReplExportDirDel; external netapi32lib name 'NetReplExportDirDel';
  1205. {$ENDIF DYNAMIC_LINK}
  1206. {$IFDEF DYNAMIC_LINK}
  1207. var
  1208.   _NetReplExportDirEnum: Pointer;
  1209. function NetReplExportDirEnum;
  1210. begin
  1211.   GetProcedureAddress(_NetReplExportDirEnum, netapi32lib, 'NetReplExportDirEnum');
  1212.   asm
  1213.     mov esp, ebp
  1214.     pop ebp
  1215.     jmp [_NetReplExportDirEnum]
  1216.   end;
  1217. end;
  1218. {$ELSE}
  1219. function NetReplExportDirEnum; external netapi32lib name 'NetReplExportDirEnum';
  1220. {$ENDIF DYNAMIC_LINK}
  1221. {$IFDEF DYNAMIC_LINK}
  1222. var
  1223.   _NetReplExportDirGetInfo: Pointer;
  1224. function NetReplExportDirGetInfo;
  1225. begin
  1226.   GetProcedureAddress(_NetReplExportDirGetInfo, netapi32lib, 'NetReplExportDirGetInfo');
  1227.   asm
  1228.     mov esp, ebp
  1229.     pop ebp
  1230.     jmp [_NetReplExportDirGetInfo]
  1231.   end;
  1232. end;
  1233. {$ELSE}
  1234. function NetReplExportDirGetInfo; external netapi32lib name 'NetReplExportDirGetInfo';
  1235. {$ENDIF DYNAMIC_LINK}
  1236. {$IFDEF DYNAMIC_LINK}
  1237. var
  1238.   _NetReplExportDirSetInfo: Pointer;
  1239. function NetReplExportDirSetInfo;
  1240. begin
  1241.   GetProcedureAddress(_NetReplExportDirSetInfo, netapi32lib, 'NetReplExportDirSetInfo');
  1242.   asm
  1243.     mov esp, ebp
  1244.     pop ebp
  1245.     jmp [_NetReplExportDirSetInfo]
  1246.   end;
  1247. end;
  1248. {$ELSE}
  1249. function NetReplExportDirSetInfo; external netapi32lib name 'NetReplExportDirSetInfo';
  1250. {$ENDIF DYNAMIC_LINK}
  1251. {$IFDEF DYNAMIC_LINK}
  1252. var
  1253.   _NetReplExportDirLock: Pointer;
  1254. function NetReplExportDirLock;
  1255. begin
  1256.   GetProcedureAddress(_NetReplExportDirLock, netapi32lib, 'NetReplExportDirLock');
  1257.   asm
  1258.     mov esp, ebp
  1259.     pop ebp
  1260.     jmp [_NetReplExportDirLock]
  1261.   end;
  1262. end;
  1263. {$ELSE}
  1264. function NetReplExportDirLock; external netapi32lib name 'NetReplExportDirLock';
  1265. {$ENDIF DYNAMIC_LINK}
  1266. {$IFDEF DYNAMIC_LINK}
  1267. var
  1268.   _NetReplExportDirUnlock: Pointer;
  1269. function NetReplExportDirUnlock;
  1270. begin
  1271.   GetProcedureAddress(_NetReplExportDirUnlock, netapi32lib, 'NetReplExportDirUnlock');
  1272.   asm
  1273.     mov esp, ebp
  1274.     pop ebp
  1275.     jmp [_NetReplExportDirUnlock]
  1276.   end;
  1277. end;
  1278. {$ELSE}
  1279. function NetReplExportDirUnlock; external netapi32lib name 'NetReplExportDirUnlock';
  1280. {$ENDIF DYNAMIC_LINK}
  1281. {$IFDEF DYNAMIC_LINK}
  1282. var
  1283.   _NetReplImportDirAdd: Pointer;
  1284. function NetReplImportDirAdd;
  1285. begin
  1286.   GetProcedureAddress(_NetReplImportDirAdd, netapi32lib, 'NetReplImportDirAdd');
  1287.   asm
  1288.     mov esp, ebp
  1289.     pop ebp
  1290.     jmp [_NetReplImportDirAdd]
  1291.   end;
  1292. end;
  1293. {$ELSE}
  1294. function NetReplImportDirAdd; external netapi32lib name 'NetReplImportDirAdd';
  1295. {$ENDIF DYNAMIC_LINK}
  1296. {$IFDEF DYNAMIC_LINK}
  1297. var
  1298.   _NetReplImportDirDel: Pointer;
  1299. function NetReplImportDirDel;
  1300. begin
  1301.   GetProcedureAddress(_NetReplImportDirDel, netapi32lib, 'NetReplImportDirDel');
  1302.   asm
  1303.     mov esp, ebp
  1304.     pop ebp
  1305.     jmp [_NetReplImportDirDel]
  1306.   end;
  1307. end;
  1308. {$ELSE}
  1309. function NetReplImportDirDel; external netapi32lib name 'NetReplImportDirDel';
  1310. {$ENDIF DYNAMIC_LINK}
  1311. {$IFDEF DYNAMIC_LINK}
  1312. var
  1313.   _NetReplImportDirEnum: Pointer;
  1314. function NetReplImportDirEnum;
  1315. begin
  1316.   GetProcedureAddress(_NetReplImportDirEnum, netapi32lib, 'NetReplImportDirEnum');
  1317.   asm
  1318.     mov esp, ebp
  1319.     pop ebp
  1320.     jmp [_NetReplImportDirEnum]
  1321.   end;
  1322. end;
  1323. {$ELSE}
  1324. function NetReplImportDirEnum; external netapi32lib name 'NetReplImportDirEnum';
  1325. {$ENDIF DYNAMIC_LINK}
  1326. {$IFDEF DYNAMIC_LINK}
  1327. var
  1328.   _NetReplImportDirGetInfo: Pointer;
  1329. function NetReplImportDirGetInfo;
  1330. begin
  1331.   GetProcedureAddress(_NetReplImportDirGetInfo, netapi32lib, 'NetReplImportDirGetInfo');
  1332.   asm
  1333.     mov esp, ebp
  1334.     pop ebp
  1335.     jmp [_NetReplImportDirGetInfo]
  1336.   end;
  1337. end;
  1338. {$ELSE}
  1339. function NetReplImportDirGetInfo; external netapi32lib name 'NetReplImportDirGetInfo';
  1340. {$ENDIF DYNAMIC_LINK}
  1341. {$IFDEF DYNAMIC_LINK}
  1342. var
  1343.   _NetReplImportDirLock: Pointer;
  1344. function NetReplImportDirLock;
  1345. begin
  1346.   GetProcedureAddress(_NetReplImportDirLock, netapi32lib, 'NetReplImportDirLock');
  1347.   asm
  1348.     mov esp, ebp
  1349.     pop ebp
  1350.     jmp [_NetReplImportDirLock]
  1351.   end;
  1352. end;
  1353. {$ELSE}
  1354. function NetReplImportDirLock; external netapi32lib name 'NetReplImportDirLock';
  1355. {$ENDIF DYNAMIC_LINK}
  1356. {$IFDEF DYNAMIC_LINK}
  1357. var
  1358.   _NetReplImportDirUnlock: Pointer;
  1359. function NetReplImportDirUnlock;
  1360. begin
  1361.   GetProcedureAddress(_NetReplImportDirUnlock, netapi32lib, 'NetReplImportDirUnlock');
  1362.   asm
  1363.     mov esp, ebp
  1364.     pop ebp
  1365.     jmp [_NetReplImportDirUnlock]
  1366.   end;
  1367. end;
  1368. {$ELSE}
  1369. function NetReplImportDirUnlock; external netapi32lib name 'NetReplImportDirUnlock';
  1370. {$ENDIF DYNAMIC_LINK}
  1371. // LMSERVER.H
  1372. {$IFDEF DYNAMIC_LINK}
  1373. var
  1374.   _NetServerEnum: Pointer;
  1375. function NetServerEnum;
  1376. begin
  1377.   GetProcedureAddress(_NetServerEnum, netapi32lib, 'NetServerEnum');
  1378.   asm
  1379.     mov esp, ebp
  1380.     pop ebp
  1381.     jmp [_NetServerEnum]
  1382.   end;
  1383. end;
  1384. {$ELSE}
  1385. function NetServerEnum; external netapi32lib name 'NetServerEnum';
  1386. {$ENDIF DYNAMIC_LINK}
  1387. {$IFDEF DYNAMIC_LINK}
  1388. var
  1389.   _NetServerEnumEx: Pointer;
  1390. function NetServerEnumEx;
  1391. begin
  1392.   GetProcedureAddress(_NetServerEnumEx, netapi32lib, 'NetServerEnumEx');
  1393.   asm
  1394.     mov esp, ebp
  1395.     pop ebp
  1396.     jmp [_NetServerEnumEx]
  1397.   end;
  1398. end;
  1399. {$ELSE}
  1400. function NetServerEnumEx; external netapi32lib name 'NetServerEnumEx';
  1401. {$ENDIF DYNAMIC_LINK}
  1402. {$IFDEF DYNAMIC_LINK}
  1403. var
  1404.   _NetServerGetInfo: Pointer;
  1405. function NetServerGetInfo;
  1406. begin
  1407.   GetProcedureAddress(_NetServerGetInfo, netapi32lib, 'NetServerGetInfo');
  1408.   asm
  1409.     mov esp, ebp
  1410.     pop ebp
  1411.     jmp [_NetServerGetInfo]
  1412.   end;
  1413. end;
  1414. {$ELSE}
  1415. function NetServerGetInfo; external netapi32lib name 'NetServerGetInfo';
  1416. {$ENDIF DYNAMIC_LINK}
  1417. {$IFDEF DYNAMIC_LINK}
  1418. var
  1419.   _NetServerSetInfo: Pointer;
  1420. function NetServerSetInfo;
  1421. begin
  1422.   GetProcedureAddress(_NetServerSetInfo, netapi32lib, 'NetServerSetInfo');
  1423.   asm
  1424.     mov esp, ebp
  1425.     pop ebp
  1426.     jmp [_NetServerSetInfo]
  1427.   end;
  1428. end;
  1429. {$ELSE}
  1430. function NetServerSetInfo; external netapi32lib name 'NetServerSetInfo';
  1431. {$ENDIF DYNAMIC_LINK}
  1432. {$IFDEF DYNAMIC_LINK}
  1433. var
  1434.   _NetServerSetInfoCommandLine: Pointer;
  1435. function NetServerSetInfoCommandLine;
  1436. begin
  1437.   GetProcedureAddress(_NetServerSetInfoCommandLine, netapi32lib, 'NetServerSetInfoCommandLine');
  1438.   asm
  1439.     mov esp, ebp
  1440.     pop ebp
  1441.     jmp [_NetServerSetInfoCommandLine]
  1442.   end;
  1443. end;
  1444. {$ELSE}
  1445. function NetServerSetInfoCommandLine; external netapi32lib name 'NetServerSetInfoCommandLine';
  1446. {$ENDIF DYNAMIC_LINK}
  1447. {$IFDEF DYNAMIC_LINK}
  1448. var
  1449.   _NetServerDiskEnum: Pointer;
  1450. function NetServerDiskEnum;
  1451. begin
  1452.   GetProcedureAddress(_NetServerDiskEnum, netapi32lib, 'NetServerDiskEnum');
  1453.   asm
  1454.     mov esp, ebp
  1455.     pop ebp
  1456.     jmp [_NetServerDiskEnum]
  1457.   end;
  1458. end;
  1459. {$ELSE}
  1460. function NetServerDiskEnum; external netapi32lib name 'NetServerDiskEnum';
  1461. {$ENDIF DYNAMIC_LINK}
  1462. {$IFDEF DYNAMIC_LINK}
  1463. var
  1464.   _NetServerComputerNameAdd: Pointer;
  1465. function NetServerComputerNameAdd;
  1466. begin
  1467.   GetProcedureAddress(_NetServerComputerNameAdd, netapi32lib, 'NetServerComputerNameAdd');
  1468.   asm
  1469.     mov esp, ebp
  1470.     pop ebp
  1471.     jmp [_NetServerComputerNameAdd]
  1472.   end;
  1473. end;
  1474. {$ELSE}
  1475. function NetServerComputerNameAdd; external netapi32lib name 'NetServerComputerNameAdd';
  1476. {$ENDIF DYNAMIC_LINK}
  1477. {$IFDEF DYNAMIC_LINK}
  1478. var
  1479.   _NetServerComputerNameDel: Pointer;
  1480. function NetServerComputerNameDel;
  1481. begin
  1482.   GetProcedureAddress(_NetServerComputerNameDel, netapi32lib, 'NetServerComputerNameDel');
  1483.   asm
  1484.     mov esp, ebp
  1485.     pop ebp
  1486.     jmp [_NetServerComputerNameDel]
  1487.   end;
  1488. end;
  1489. {$ELSE}
  1490. function NetServerComputerNameDel; external netapi32lib name 'NetServerComputerNameDel';
  1491. {$ENDIF DYNAMIC_LINK}
  1492. {$IFDEF DYNAMIC_LINK}
  1493. var
  1494.   _NetServerTransportAdd: Pointer;
  1495. function NetServerTransportAdd;
  1496. begin
  1497.   GetProcedureAddress(_NetServerTransportAdd, netapi32lib, 'NetServerTransportAdd');
  1498.   asm
  1499.     mov esp, ebp
  1500.     pop ebp
  1501.     jmp [_NetServerTransportAdd]
  1502.   end;
  1503. end;
  1504. {$ELSE}
  1505. function NetServerTransportAdd; external netapi32lib name 'NetServerTransportAdd';
  1506. {$ENDIF DYNAMIC_LINK}
  1507. {$IFDEF DYNAMIC_LINK}
  1508. var
  1509.   _NetServerTransportAddEx: Pointer;
  1510. function NetServerTransportAddEx;
  1511. begin
  1512.   GetProcedureAddress(_NetServerTransportAddEx, netapi32lib, 'NetServerTransportAddEx');
  1513.   asm
  1514.     mov esp, ebp
  1515.     pop ebp
  1516.     jmp [_NetServerTransportAddEx]
  1517.   end;
  1518. end;
  1519. {$ELSE}
  1520. function NetServerTransportAddEx; external netapi32lib name 'NetServerTransportAddEx';
  1521. {$ENDIF DYNAMIC_LINK}
  1522. {$IFDEF DYNAMIC_LINK}
  1523. var
  1524.   _NetServerTransportDel: Pointer;
  1525. function NetServerTransportDel;
  1526. begin
  1527.   GetProcedureAddress(_NetServerTransportDel, netapi32lib, 'NetServerTransportDel');
  1528.   asm
  1529.     mov esp, ebp
  1530.     pop ebp
  1531.     jmp [_NetServerTransportDel]
  1532.   end;
  1533. end;
  1534. {$ELSE}
  1535. function NetServerTransportDel; external netapi32lib name 'NetServerTransportDel';
  1536. {$ENDIF DYNAMIC_LINK}
  1537. {$IFDEF DYNAMIC_LINK}
  1538. var
  1539.   _NetServerTransportEnum: Pointer;
  1540. function NetServerTransportEnum;
  1541. begin
  1542.   GetProcedureAddress(_NetServerTransportEnum, netapi32lib, 'NetServerTransportEnum');
  1543.   asm
  1544.     mov esp, ebp
  1545.     pop ebp
  1546.     jmp [_NetServerTransportEnum]
  1547.   end;
  1548. end;
  1549. {$ELSE}
  1550. function NetServerTransportEnum; external netapi32lib name 'NetServerTransportEnum';
  1551. {$ENDIF DYNAMIC_LINK}
  1552. {$IFDEF DYNAMIC_LINK}
  1553. var
  1554.   _SetServiceBits: Pointer;
  1555. function SetServiceBits;
  1556. begin
  1557.   GetProcedureAddress(_SetServiceBits, netapi32lib, 'SetServiceBits');
  1558.   asm
  1559.     mov esp, ebp
  1560.     pop ebp
  1561.     jmp [_SetServiceBits]
  1562.   end;
  1563. end;
  1564. {$ELSE}
  1565. function SetServiceBits; external netapi32lib name 'SetServiceBits';
  1566. {$ENDIF DYNAMIC_LINK}
  1567. // LMSVC.H
  1568. function SERVICE_IP_CODE(tt, nn: LongInt): LongInt;
  1569. begin
  1570.   Result := SERVICE_IP_QUERY_HINT or (nn or tt shl SERVICE_IP_WAITTIME_SHIFT);
  1571. end;
  1572. function SERVICE_CCP_CODE(tt, nn: LongInt): LongInt;
  1573. begin
  1574.   Result := SERVICE_CCP_QUERY_HINT or (nn or tt shl SERVICE_IP_WAITTIME_SHIFT);
  1575. end;
  1576. function SERVICE_UIC_CODE(cc, mm: LongInt): LongInt;
  1577. begin
  1578.   Result := (cc shl 16) or Word(mm);
  1579. end;
  1580. function SERVICE_NT_CCP_CODE(tt, nn: LongInt): LongInt;
  1581. begin
  1582.   Result := nn or ((tt and LOWER_HINT_MASK) shl SERVICE_IP_WAITTIME_SHIFT) or
  1583.     ((tt and UPPER_HINT_MASK) shl SERVICE_NTIP_WAITTIME_SHIFT);
  1584. end;
  1585. function SERVICE_NT_WAIT_GET(code: DWORD): DWORD;
  1586. begin
  1587.   Result := ((code and UPPER_GET_HINT_MASK) shr SERVICE_NTIP_WAITTIME_SHIFT) or
  1588.     ((code and LOWER_GET_HINT_MASK) shr SERVICE_IP_WAITTIME_SHIFT);
  1589. end;
  1590. {$IFDEF DYNAMIC_LINK}
  1591. var
  1592.   _NetServiceControl: Pointer;
  1593. function NetServiceControl;
  1594. begin
  1595.   GetProcedureAddress(_NetServiceControl, netapi32lib, 'NetServiceControl');
  1596.   asm
  1597.     mov esp, ebp
  1598.     pop ebp
  1599.     jmp [_NetServiceControl]
  1600.   end;
  1601. end;
  1602. {$ELSE}
  1603. function NetServiceControl; external netapi32lib name 'NetServiceControl';
  1604. {$ENDIF DYNAMIC_LINK}
  1605. {$IFDEF DYNAMIC_LINK}
  1606. var
  1607.   _NetServiceEnum: Pointer;
  1608. function NetServiceEnum;
  1609. begin
  1610.   GetProcedureAddress(_NetServiceEnum, netapi32lib, 'NetServiceEnum');
  1611.   asm
  1612.     mov esp, ebp
  1613.     pop ebp
  1614.     jmp [_NetServiceEnum]
  1615.   end;
  1616. end;
  1617. {$ELSE}
  1618. function NetServiceEnum; external netapi32lib name 'NetServiceEnum';
  1619. {$ENDIF DYNAMIC_LINK}
  1620. {$IFDEF DYNAMIC_LINK}
  1621. var
  1622.   _NetServiceGetInfo: Pointer;
  1623. function NetServiceGetInfo;
  1624. begin
  1625.   GetProcedureAddress(_NetServiceGetInfo, netapi32lib, 'NetServiceGetInfo');
  1626.   asm
  1627.     mov esp, ebp
  1628.     pop ebp
  1629.     jmp [_NetServiceGetInfo]
  1630.   end;
  1631. end;
  1632. {$ELSE}
  1633. function NetServiceGetInfo; external netapi32lib name 'NetServiceGetInfo';
  1634. {$ENDIF DYNAMIC_LINK}
  1635. {$IFDEF DYNAMIC_LINK}
  1636. var
  1637.   _NetServiceInstall: Pointer;
  1638. function NetServiceInstall;
  1639. begin
  1640.   GetProcedureAddress(_NetServiceInstall, netapi32lib, 'NetServiceInstall');
  1641.   asm
  1642.     mov esp, ebp
  1643.     pop ebp
  1644.     jmp [_NetServiceInstall]
  1645.   end;
  1646. end;
  1647. {$ELSE}
  1648. function NetServiceInstall; external netapi32lib name 'NetServiceInstall';
  1649. {$ENDIF DYNAMIC_LINK}
  1650. // LMUSE.H
  1651. {$IFDEF DYNAMIC_LINK}
  1652. var
  1653.   _NetUseAdd: Pointer;
  1654. function NetUseAdd;
  1655. begin
  1656.   GetProcedureAddress(_NetUseAdd, netapi32lib, 'NetUseAdd');
  1657.   asm
  1658.     mov esp, ebp
  1659.     pop ebp
  1660.     jmp [_NetUseAdd]
  1661.   end;
  1662. end;
  1663. {$ELSE}
  1664. function NetUseAdd; external netapi32lib name 'NetUseAdd';
  1665. {$ENDIF DYNAMIC_LINK}
  1666. {$IFDEF DYNAMIC_LINK}
  1667. var
  1668.   _NetUseDel: Pointer;
  1669. function NetUseDel;
  1670. begin
  1671.   GetProcedureAddress(_NetUseDel, netapi32lib, 'NetUseDel');
  1672.   asm
  1673.     mov esp, ebp
  1674.     pop ebp
  1675.     jmp [_NetUseDel]
  1676.   end;
  1677. end;
  1678. {$ELSE}
  1679. function NetUseDel; external netapi32lib name 'NetUseDel';
  1680. {$ENDIF DYNAMIC_LINK}
  1681. {$IFDEF DYNAMIC_LINK}
  1682. var
  1683.   _NetUseEnum: Pointer;
  1684. function NetUseEnum;
  1685. begin
  1686.   GetProcedureAddress(_NetUseEnum, netapi32lib, 'NetUseEnum');
  1687.   asm
  1688.     mov esp, ebp
  1689.     pop ebp
  1690.     jmp [_NetUseEnum]
  1691.   end;
  1692. end;
  1693. {$ELSE}
  1694. function NetUseEnum; external netapi32lib name 'NetUseEnum';
  1695. {$ENDIF DYNAMIC_LINK}
  1696. {$IFDEF DYNAMIC_LINK}
  1697. var
  1698.   _NetUseGetInfo: Pointer;
  1699. function NetUseGetInfo;
  1700. begin
  1701.   GetProcedureAddress(_NetUseGetInfo, netapi32lib, 'NetUseGetInfo');
  1702.   asm
  1703.     mov esp, ebp
  1704.     pop ebp
  1705.     jmp [_NetUseGetInfo]
  1706.   end;
  1707. end;
  1708. {$ELSE}
  1709. function NetUseGetInfo; external netapi32lib name 'NetUseGetInfo';
  1710. {$ENDIF DYNAMIC_LINK}
  1711. // LMWKSTA.H
  1712. {$IFDEF DYNAMIC_LINK}
  1713. var
  1714.   _NetWkstaGetInfo: Pointer;
  1715. function NetWkstaGetInfo;
  1716. begin
  1717.   GetProcedureAddress(_NetWkstaGetInfo, netapi32lib, 'NetWkstaGetInfo');
  1718.   asm
  1719.     mov esp, ebp
  1720.     pop ebp
  1721.     jmp [_NetWkstaGetInfo]
  1722.   end;
  1723. end;
  1724. {$ELSE}
  1725. function NetWkstaGetInfo; external netapi32lib name 'NetWkstaGetInfo';
  1726. {$ENDIF DYNAMIC_LINK}
  1727. {$IFDEF DYNAMIC_LINK}
  1728. var
  1729.   _NetWkstaSetInfo: Pointer;
  1730. function NetWkstaSetInfo;
  1731. begin
  1732.   GetProcedureAddress(_NetWkstaSetInfo, netapi32lib, 'NetWkstaSetInfo');
  1733.   asm
  1734.     mov esp, ebp
  1735.     pop ebp
  1736.     jmp [_NetWkstaSetInfo]
  1737.   end;
  1738. end;
  1739. {$ELSE}
  1740. function NetWkstaSetInfo; external netapi32lib name 'NetWkstaSetInfo';
  1741. {$ENDIF DYNAMIC_LINK}
  1742. {$IFDEF DYNAMIC_LINK}
  1743. var
  1744.   _NetWkstaUserGetInfo: Pointer;
  1745. function NetWkstaUserGetInfo;
  1746. begin
  1747.   GetProcedureAddress(_NetWkstaUserGetInfo, netapi32lib, 'NetWkstaUserGetInfo');
  1748.   asm
  1749.     mov esp, ebp
  1750.     pop ebp
  1751.     jmp [_NetWkstaUserGetInfo]
  1752.   end;
  1753. end;
  1754. {$ELSE}
  1755. function NetWkstaUserGetInfo; external netapi32lib name 'NetWkstaUserGetInfo';
  1756. {$ENDIF DYNAMIC_LINK}
  1757. {$IFDEF DYNAMIC_LINK}
  1758. var
  1759.   _NetWkstaUserSetInfo: Pointer;
  1760. function NetWkstaUserSetInfo;
  1761. begin
  1762.   GetProcedureAddress(_NetWkstaUserSetInfo, netapi32lib, 'NetWkstaUserSetInfo');
  1763.   asm
  1764.     mov esp, ebp
  1765.     pop ebp
  1766.     jmp [_NetWkstaUserSetInfo]
  1767.   end;
  1768. end;
  1769. {$ELSE}
  1770. function NetWkstaUserSetInfo; external netapi32lib name 'NetWkstaUserSetInfo';
  1771. {$ENDIF DYNAMIC_LINK}
  1772. {$IFDEF DYNAMIC_LINK}
  1773. var
  1774.   _NetWkstaUserEnum: Pointer;
  1775. function NetWkstaUserEnum;
  1776. begin
  1777.   GetProcedureAddress(_NetWkstaUserEnum, netapi32lib, 'NetWkstaUserEnum');
  1778.   asm
  1779.     mov esp, ebp
  1780.     pop ebp
  1781.     jmp [_NetWkstaUserEnum]
  1782.   end;
  1783. end;
  1784. {$ELSE}
  1785. function NetWkstaUserEnum; external netapi32lib name 'NetWkstaUserEnum';
  1786. {$ENDIF DYNAMIC_LINK}
  1787. {$IFDEF DYNAMIC_LINK}
  1788. var
  1789.   _NetWkstaTransportAdd: Pointer;
  1790. function NetWkstaTransportAdd;
  1791. begin
  1792.   GetProcedureAddress(_NetWkstaTransportAdd, netapi32lib, 'NetWkstaTransportAdd');
  1793.   asm
  1794.     mov esp, ebp
  1795.     pop ebp
  1796.     jmp [_NetWkstaTransportAdd]
  1797.   end;
  1798. end;
  1799. {$ELSE}
  1800. function NetWkstaTransportAdd; external netapi32lib name 'NetWkstaTransportAdd';
  1801. {$ENDIF DYNAMIC_LINK}
  1802. {$IFDEF DYNAMIC_LINK}
  1803. var
  1804.   _NetWkstaTransportDel: Pointer;
  1805. function NetWkstaTransportDel;
  1806. begin
  1807.   GetProcedureAddress(_NetWkstaTransportDel, netapi32lib, 'NetWkstaTransportDel');
  1808.   asm
  1809.     mov esp, ebp
  1810.     pop ebp
  1811.     jmp [_NetWkstaTransportDel]
  1812.   end;
  1813. end;
  1814. {$ELSE}
  1815. function NetWkstaTransportDel; external netapi32lib name 'NetWkstaTransportDel';
  1816. {$ENDIF DYNAMIC_LINK}
  1817. {$IFDEF DYNAMIC_LINK}
  1818. var
  1819.   _NetWkstaTransportEnum: Pointer;
  1820. function NetWkstaTransportEnum;
  1821. begin
  1822.   GetProcedureAddress(_NetWkstaTransportEnum, netapi32lib, 'NetWkstaTransportEnum');
  1823.   asm
  1824.     mov esp, ebp
  1825.     pop ebp
  1826.     jmp [_NetWkstaTransportEnum]
  1827.   end;
  1828. end;
  1829. {$ELSE}
  1830. function NetWkstaTransportEnum; external netapi32lib name 'NetWkstaTransportEnum';
  1831. {$ENDIF DYNAMIC_LINK}
  1832. // LMAPIBUF.H
  1833. {$IFDEF DYNAMIC_LINK}
  1834. var
  1835.   _NetApiBufferAllocate: Pointer;
  1836. function NetApiBufferAllocate;
  1837. begin
  1838.   GetProcedureAddress(_NetApiBufferAllocate, netapi32lib, 'NetApiBufferAllocate');
  1839.   asm
  1840.     mov esp, ebp
  1841.     pop ebp
  1842.     jmp [_NetApiBufferAllocate]
  1843.   end;
  1844. end;
  1845. {$ELSE}
  1846. function NetApiBufferAllocate; external netapi32lib name 'NetApiBufferAllocate';
  1847. {$ENDIF DYNAMIC_LINK}
  1848. {$IFDEF DYNAMIC_LINK}
  1849. var
  1850.   _NetApiBufferFree: Pointer;
  1851. function NetApiBufferFree;
  1852. begin
  1853.   GetProcedureAddress(_NetApiBufferFree, netapi32lib, 'NetApiBufferFree');
  1854.   asm
  1855.     mov esp, ebp
  1856.     pop ebp
  1857.     jmp [_NetApiBufferFree]
  1858.   end;
  1859. end;
  1860. {$ELSE}
  1861. function NetApiBufferFree; external netapi32lib name 'NetApiBufferFree';
  1862. {$ENDIF DYNAMIC_LINK}
  1863. {$IFDEF DYNAMIC_LINK}
  1864. var
  1865.   _NetApiBufferReallocate: Pointer;
  1866. function NetApiBufferReallocate;
  1867. begin
  1868.   GetProcedureAddress(_NetApiBufferReallocate, netapi32lib, 'NetApiBufferReallocate');
  1869.   asm
  1870.     mov esp, ebp
  1871.     pop ebp
  1872.     jmp [_NetApiBufferReallocate]
  1873.   end;
  1874. end;
  1875. {$ELSE}
  1876. function NetApiBufferReallocate; external netapi32lib name 'NetApiBufferReallocate';
  1877. {$ENDIF DYNAMIC_LINK}
  1878. {$IFDEF DYNAMIC_LINK}
  1879. var
  1880.   _NetApiBufferSize: Pointer;
  1881. function NetApiBufferSize;
  1882. begin
  1883.   GetProcedureAddress(_NetApiBufferSize, netapi32lib, 'NetApiBufferSize');
  1884.   asm
  1885.     mov esp, ebp
  1886.     pop ebp
  1887.     jmp [_NetApiBufferSize]
  1888.   end;
  1889. end;
  1890. {$ELSE}
  1891. function NetApiBufferSize; external netapi32lib name 'NetApiBufferSize';
  1892. {$ENDIF DYNAMIC_LINK}
  1893. {$IFDEF DYNAMIC_LINK}
  1894. var
  1895.   _NetapipBufferAllocate: Pointer;
  1896. function NetapipBufferAllocate;
  1897. begin
  1898.   GetProcedureAddress(_NetapipBufferAllocate, netapi32lib, 'NetapipBufferAllocate');
  1899.   asm
  1900.     mov esp, ebp
  1901.     pop ebp
  1902.     jmp [_NetapipBufferAllocate]
  1903.   end;
  1904. end;
  1905. {$ELSE}
  1906. function NetapipBufferAllocate; external netapi32lib name 'NetapipBufferAllocate';
  1907. {$ENDIF DYNAMIC_LINK}
  1908. // LMCONFIG.H
  1909. {$IFDEF DYNAMIC_LINK}
  1910. var
  1911.   _NetConfigGet: Pointer;
  1912. function NetConfigGet;
  1913. begin
  1914.   GetProcedureAddress(_NetConfigGet, netapi32lib, 'NetConfigGet');
  1915.   asm
  1916.     mov esp, ebp
  1917.     pop ebp
  1918.     jmp [_NetConfigGet]
  1919.   end;
  1920. end;
  1921. {$ELSE}
  1922. function NetConfigGet; external netapi32lib name 'NetConfigGet';
  1923. {$ENDIF DYNAMIC_LINK}
  1924. {$IFDEF DYNAMIC_LINK}
  1925. var
  1926.   _NetConfigGetAll: Pointer;
  1927. function NetConfigGetAll;
  1928. begin
  1929.   GetProcedureAddress(_NetConfigGetAll, netapi32lib, 'NetConfigGetAll');
  1930.   asm
  1931.     mov esp, ebp
  1932.     pop ebp
  1933.     jmp [_NetConfigGetAll]
  1934.   end;
  1935. end;
  1936. {$ELSE}
  1937. function NetConfigGetAll; external netapi32lib name 'NetConfigGetAll';
  1938. {$ENDIF DYNAMIC_LINK}
  1939. {$IFDEF DYNAMIC_LINK}
  1940. var
  1941.   _NetConfigSet: Pointer;
  1942. function NetConfigSet;
  1943. begin
  1944.   GetProcedureAddress(_NetConfigSet, netapi32lib, 'NetConfigSet');
  1945.   asm
  1946.     mov esp, ebp
  1947.     pop ebp
  1948.     jmp [_NetConfigSet]
  1949.   end;
  1950. end;
  1951. {$ELSE}
  1952. function NetConfigSet; external netapi32lib name 'NetConfigSet';
  1953. {$ENDIF DYNAMIC_LINK}
  1954. {$IFDEF DYNAMIC_LINK}
  1955. var
  1956.   _NetRegisterDomNameChangeNot: Pointer;
  1957. function NetRegisterDomainNameChangeNotification;
  1958. begin
  1959.   GetProcedureAddress(_NetRegisterDomNameChangeNot, netapi32lib, 'NetRegisterDomainNameChangeNotification');
  1960.   asm
  1961.     mov esp, ebp
  1962.     pop ebp
  1963.     jmp [_NetRegisterDomNameChangeNot]
  1964.   end;
  1965. end;
  1966. {$ELSE}
  1967. function NetRegisterDomainNameChangeNotification; external netapi32lib name 'NetRegisterDomainNameChangeNotification';
  1968. {$ENDIF DYNAMIC_LINK}
  1969. {$IFDEF DYNAMIC_LINK}
  1970. var
  1971.   _NetUnregisterDomNameChangeNot: Pointer;
  1972. function NetUnregisterDomainNameChangeNotification;
  1973. begin
  1974.   GetProcedureAddress(_NetUnregisterDomNameChangeNot, netapi32lib, 'NetUnregisterDomainNameChangeNotification');
  1975.   asm
  1976.     mov esp, ebp
  1977.     pop ebp
  1978.     jmp [_NetUnregisterDomNameChangeNot]
  1979.   end;
  1980. end;
  1981. {$ELSE}
  1982. function NetUnregisterDomainNameChangeNotification; external netapi32lib name 'NetUnregisterDomainNameChangeNotification';
  1983. {$ENDIF DYNAMIC_LINK}
  1984. // LMSTATS.H
  1985. {$IFDEF DYNAMIC_LINK}
  1986. var
  1987.   _NetStatisticsGet: Pointer;
  1988. function NetStatisticsGet;
  1989. begin
  1990.   GetProcedureAddress(_NetStatisticsGet, netapi32lib, 'NetStatisticsGet');
  1991.   asm
  1992.     mov esp, ebp
  1993.     pop ebp
  1994.     jmp [_NetStatisticsGet]
  1995.   end;
  1996. end;
  1997. {$ELSE}
  1998. function NetStatisticsGet; external netapi32lib name 'NetStatisticsGet';
  1999. {$ENDIF DYNAMIC_LINK}
  2000. // LMAUDIT.H
  2001. {$IFDEF DYNAMIC_LINK}
  2002. var
  2003.   _NetAuditClear: Pointer;
  2004. function NetAuditClear;
  2005. begin
  2006.   GetProcedureAddress(_NetAuditClear, netapi32lib, 'NetAuditClear');
  2007.   asm
  2008.     mov esp, ebp
  2009.     pop ebp
  2010.     jmp [_NetAuditClear]
  2011.   end;
  2012. end;
  2013. {$ELSE}
  2014. function NetAuditClear; external netapi32lib name 'NetAuditClear';
  2015. {$ENDIF DYNAMIC_LINK}
  2016. {$IFDEF DYNAMIC_LINK}
  2017. var
  2018.   _NetAuditRead: Pointer;
  2019. function NetAuditRead;
  2020. begin
  2021.   GetProcedureAddress(_NetAuditRead, netapi32lib, 'NetAuditRead');
  2022.   asm
  2023.     mov esp, ebp
  2024.     pop ebp
  2025.     jmp [_NetAuditRead]
  2026.   end;
  2027. end;
  2028. {$ELSE}
  2029. function NetAuditRead; external netapi32lib name 'NetAuditRead';
  2030. {$ENDIF DYNAMIC_LINK}
  2031. {$IFDEF DYNAMIC_LINK}
  2032. var
  2033.   _NetAuditWrite: Pointer;
  2034. function NetAuditWrite;
  2035. begin
  2036.   GetProcedureAddress(_NetAuditWrite, netapi32lib, 'NetAuditWrite');
  2037.   asm
  2038.     mov esp, ebp
  2039.     pop ebp
  2040.     jmp [_NetAuditWrite]
  2041.   end;
  2042. end;
  2043. {$ELSE}
  2044. function NetAuditWrite; external netapi32lib name 'NetAuditWrite';
  2045. {$ENDIF DYNAMIC_LINK}
  2046. // LMJOIN.H
  2047. {$IFDEF DYNAMIC_LINK}
  2048. var
  2049.   _NetJoinDomain: Pointer;
  2050. function NetJoinDomain;
  2051. begin
  2052.   GetProcedureAddress(_NetJoinDomain, netapi32lib, 'NetJoinDomain');
  2053.   asm
  2054.     mov esp, ebp
  2055.     pop ebp
  2056.     jmp [_NetJoinDomain]
  2057.   end;
  2058. end;
  2059. {$ELSE}
  2060. function NetJoinDomain; external netapi32lib name 'NetJoinDomain';
  2061. {$ENDIF DYNAMIC_LINK}
  2062. {$IFDEF DYNAMIC_LINK}
  2063. var
  2064.   _NetUnjoinDomain: Pointer;
  2065. function NetUnjoinDomain;
  2066. begin
  2067.   GetProcedureAddress(_NetUnjoinDomain, netapi32lib, 'NetUnjoinDomain');
  2068.   asm
  2069.     mov esp, ebp
  2070.     pop ebp
  2071.     jmp [_NetUnjoinDomain]
  2072.   end;
  2073. end;
  2074. {$ELSE}
  2075. function NetUnjoinDomain; external netapi32lib name 'NetUnjoinDomain';
  2076. {$ENDIF DYNAMIC_LINK}
  2077. {$IFDEF DYNAMIC_LINK}
  2078. var
  2079.   _NetRenameMachineInDomain: Pointer;
  2080. function NetRenameMachineInDomain;
  2081. begin
  2082.   GetProcedureAddress(_NetRenameMachineInDomain, netapi32lib, 'NetRenameMachineInDomain');
  2083.   asm
  2084.     mov esp, ebp
  2085.     pop ebp
  2086.     jmp [_NetRenameMachineInDomain]
  2087.   end;
  2088. end;
  2089. {$ELSE}
  2090. function NetRenameMachineInDomain; external netapi32lib name 'NetRenameMachineInDomain';
  2091. {$ENDIF DYNAMIC_LINK}
  2092. {$IFDEF DYNAMIC_LINK}
  2093. var
  2094.   _NetValidateName: Pointer;
  2095. function NetValidateName;
  2096. begin
  2097.   GetProcedureAddress(_NetValidateName, netapi32lib, 'NetValidateName');
  2098.   asm
  2099.     mov esp, ebp
  2100.     pop ebp
  2101.     jmp [_NetValidateName]
  2102.   end;
  2103. end;
  2104. {$ELSE}
  2105. function NetValidateName; external netapi32lib name 'NetValidateName';
  2106. {$ENDIF DYNAMIC_LINK}
  2107. {$IFDEF DYNAMIC_LINK}
  2108. var
  2109.   _NetGetJoinInformation: Pointer;
  2110. function NetGetJoinInformation;
  2111. begin
  2112.   GetProcedureAddress(_NetGetJoinInformation, netapi32lib, 'NetGetJoinInformation');
  2113.   asm
  2114.     mov esp, ebp
  2115.     pop ebp
  2116.     jmp [_NetGetJoinInformation]
  2117.   end;
  2118. end;
  2119. {$ELSE}
  2120. function NetGetJoinInformation; external netapi32lib name 'NetGetJoinInformation';
  2121. {$ENDIF DYNAMIC_LINK}
  2122. {$IFDEF DYNAMIC_LINK}
  2123. var
  2124.   _NetGetJoinableOUs: Pointer;
  2125. function NetGetJoinableOUs;
  2126. begin
  2127.   GetProcedureAddress(_NetGetJoinableOUs, netapi32lib, 'NetGetJoinableOUs');
  2128.   asm
  2129.     mov esp, ebp
  2130.     pop ebp
  2131.     jmp [_NetGetJoinableOUs]
  2132.   end;
  2133. end;
  2134. {$ELSE}
  2135. function NetGetJoinableOUs; external netapi32lib name 'NetGetJoinableOUs';
  2136. {$ENDIF DYNAMIC_LINK}
  2137. // LMERRLOG.H
  2138. {$IFDEF DYNAMIC_LINK}
  2139. var
  2140.   _NetErrorLogClear: Pointer;
  2141. function NetErrorLogClear;
  2142. begin
  2143.   GetProcedureAddress(_NetErrorLogClear, netapi32lib, 'NetErrorLogClear');
  2144.   asm
  2145.     mov esp, ebp
  2146.     pop ebp
  2147.     jmp [_NetErrorLogClear]
  2148.   end;
  2149. end;
  2150. {$ELSE}
  2151. function NetErrorLogClear; external netapi32lib name 'NetErrorLogClear';
  2152. {$ENDIF DYNAMIC_LINK}
  2153. {$IFDEF DYNAMIC_LINK}
  2154. var
  2155.   _NetErrorLogRead: Pointer;
  2156. function NetErrorLogRead;
  2157. begin
  2158.   GetProcedureAddress(_NetErrorLogRead, netapi32lib, 'NetErrorLogRead');
  2159.   asm
  2160.     mov esp, ebp
  2161.     pop ebp
  2162.     jmp [_NetErrorLogRead]
  2163.   end;
  2164. end;
  2165. {$ELSE}
  2166. function NetErrorLogRead; external netapi32lib name 'NetErrorLogRead';
  2167. {$ENDIF DYNAMIC_LINK}
  2168. {$IFDEF DYNAMIC_LINK}
  2169. var
  2170.   _NetErrorLogWrite: Pointer;
  2171. function NetErrorLogWrite;
  2172. begin
  2173.   GetProcedureAddress(_NetErrorLogWrite, netapi32lib, 'NetErrorLogWrite');
  2174.   asm
  2175.     mov esp, ebp
  2176.     pop ebp
  2177.     jmp [_NetErrorLogWrite]
  2178.   end;
  2179. end;
  2180. {$ELSE}
  2181. function NetErrorLogWrite; external netapi32lib name 'NetErrorLogWrite';
  2182. {$ENDIF DYNAMIC_LINK}
  2183. // LMAT.H
  2184. {$IFDEF DYNAMIC_LINK}
  2185. var
  2186.   _NetScheduleJobAdd: Pointer;
  2187. function NetScheduleJobAdd;
  2188. begin
  2189.   GetProcedureAddress(_NetScheduleJobAdd, netapi32lib, 'NetScheduleJobAdd');
  2190.   asm
  2191.     mov esp, ebp
  2192.     pop ebp
  2193.     jmp [_NetScheduleJobAdd]
  2194.   end;
  2195. end;
  2196. {$ELSE}
  2197. function NetScheduleJobAdd; external netapi32lib name 'NetScheduleJobAdd';
  2198. {$ENDIF DYNAMIC_LINK}
  2199. {$IFDEF DYNAMIC_LINK}
  2200. var
  2201.   _NetScheduleJobDel: Pointer;
  2202. function NetScheduleJobDel;
  2203. begin
  2204.   GetProcedureAddress(_NetScheduleJobDel, netapi32lib, 'NetScheduleJobDel');
  2205.   asm
  2206.     mov esp, ebp
  2207.     pop ebp
  2208.     jmp [_NetScheduleJobDel]
  2209.   end;
  2210. end;
  2211. {$ELSE}
  2212. function NetScheduleJobDel; external netapi32lib name 'NetScheduleJobDel';
  2213. {$ENDIF DYNAMIC_LINK}
  2214. {$IFDEF DYNAMIC_LINK}
  2215. var
  2216.   _NetScheduleJobEnum: Pointer;
  2217. function NetScheduleJobEnum;
  2218. begin
  2219.   GetProcedureAddress(_NetScheduleJobEnum, netapi32lib, 'NetScheduleJobEnum');
  2220.   asm
  2221.     mov esp, ebp
  2222.     pop ebp
  2223.     jmp [_NetScheduleJobEnum]
  2224.   end;
  2225. end;
  2226. {$ELSE}
  2227. function NetScheduleJobEnum; external netapi32lib name 'NetScheduleJobEnum';
  2228. {$ENDIF DYNAMIC_LINK}
  2229. {$IFDEF DYNAMIC_LINK}
  2230. var
  2231.   _NetScheduleJobGetInfo: Pointer;
  2232. function NetScheduleJobGetInfo;
  2233. begin
  2234.   GetProcedureAddress(_NetScheduleJobGetInfo, netapi32lib, 'NetScheduleJobGetInfo');
  2235.   asm
  2236.     mov esp, ebp
  2237.     pop ebp
  2238.     jmp [_NetScheduleJobGetInfo]
  2239.   end;
  2240. end;
  2241. {$ELSE}
  2242. function NetScheduleJobGetInfo; external netapi32lib name 'NetScheduleJobGetInfo';
  2243. {$ENDIF DYNAMIC_LINK}
  2244. // LMBROWSR.H
  2245. {$IFDEF DYNAMIC_LINK}
  2246. var
  2247.   _I_BrowserServerEnum: Pointer;
  2248. function I_BrowserServerEnum;
  2249. begin
  2250.   GetProcedureAddress(_I_BrowserServerEnum, netapi32lib, 'I_BrowserServerEnum');
  2251.   asm
  2252.     mov esp, ebp
  2253.     pop ebp
  2254.     jmp [_I_BrowserServerEnum]
  2255.   end;
  2256. end;
  2257. {$ELSE}
  2258. function I_BrowserServerEnum; external netapi32lib name 'I_BrowserServerEnum';
  2259. {$ENDIF DYNAMIC_LINK}
  2260. {$IFDEF DYNAMIC_LINK}
  2261. var
  2262.   _I_BrowserServerEnumEx: Pointer;
  2263. function I_BrowserServerEnumEx;
  2264. begin
  2265.   GetProcedureAddress(_I_BrowserServerEnumEx, netapi32lib, 'I_BrowserServerEnumEx');
  2266.   asm
  2267.     mov esp, ebp
  2268.     pop ebp
  2269.     jmp [_I_BrowserServerEnumEx]
  2270.   end;
  2271. end;
  2272. {$ELSE}
  2273. function I_BrowserServerEnumEx; external netapi32lib name 'I_BrowserServerEnumEx';
  2274. {$ENDIF DYNAMIC_LINK}
  2275. {$IFDEF DYNAMIC_LINK}
  2276. var
  2277.   _I_BrowserQueryOtherDomains: Pointer;
  2278. function I_BrowserQueryOtherDomains;
  2279. begin
  2280.   GetProcedureAddress(_I_BrowserQueryOtherDomains, netapi32lib, 'I_BrowserQueryOtherDomains');
  2281.   asm
  2282.     mov esp, ebp
  2283.     pop ebp
  2284.     jmp [_I_BrowserQueryOtherDomains]
  2285.   end;
  2286. end;
  2287. {$ELSE}
  2288. function I_BrowserQueryOtherDomains; external netapi32lib name 'I_BrowserQueryOtherDomains';
  2289. {$ENDIF DYNAMIC_LINK}
  2290. {$IFDEF DYNAMIC_LINK}
  2291. var
  2292.   _I_BrowserResetNetlogonState: Pointer;
  2293. function I_BrowserResetNetlogonState;
  2294. begin
  2295.   GetProcedureAddress(_I_BrowserResetNetlogonState, netapi32lib, 'I_BrowserResetNetlogonState');
  2296.   asm
  2297.     mov esp, ebp
  2298.     pop ebp
  2299.     jmp [_I_BrowserResetNetlogonState]
  2300.   end;
  2301. end;
  2302. {$ELSE}
  2303. function I_BrowserResetNetlogonState; external netapi32lib name 'I_BrowserResetNetlogonState';
  2304. {$ENDIF DYNAMIC_LINK}
  2305. {$IFDEF DYNAMIC_LINK}
  2306. var
  2307.   _I_BrowserSetNetlogonState: Pointer;
  2308. function I_BrowserSetNetlogonState;
  2309. begin
  2310.   GetProcedureAddress(_I_BrowserSetNetlogonState, netapi32lib, 'I_BrowserSetNetlogonState');
  2311.   asm
  2312.     mov esp, ebp
  2313.     pop ebp
  2314.     jmp [_I_BrowserSetNetlogonState]
  2315.   end;
  2316. end;
  2317. {$ELSE}
  2318. function I_BrowserSetNetlogonState; external netapi32lib name 'I_BrowserSetNetlogonState';
  2319. {$ENDIF DYNAMIC_LINK}
  2320. {$IFDEF DYNAMIC_LINK}
  2321. var
  2322.   _I_BrowserQueryEmulatedDomains: Pointer;
  2323. function I_BrowserQueryEmulatedDomains;
  2324. begin
  2325.   GetProcedureAddress(_I_BrowserQueryEmulatedDomains, netapi32lib, 'I_BrowserQueryEmulatedDomains');
  2326.   asm
  2327.     mov esp, ebp
  2328.     pop ebp
  2329.     jmp [_I_BrowserQueryEmulatedDomains]
  2330.   end;
  2331. end;
  2332. {$ELSE}
  2333. function I_BrowserQueryEmulatedDomains; external netapi32lib name 'I_BrowserQueryEmulatedDomains';
  2334. {$ENDIF DYNAMIC_LINK}
  2335. {$IFDEF DYNAMIC_LINK}
  2336. var
  2337.   _I_BrowserQueryStatistics: Pointer;
  2338. function I_BrowserQueryStatistics;
  2339. begin
  2340.   GetProcedureAddress(_I_BrowserQueryStatistics, netapi32lib, 'I_BrowserQueryStatistics');
  2341.   asm
  2342.     mov esp, ebp
  2343.     pop ebp
  2344.     jmp [_I_BrowserQueryStatistics]
  2345.   end;
  2346. end;
  2347. {$ELSE}
  2348. function I_BrowserQueryStatistics; external netapi32lib name 'I_BrowserQueryStatistics';
  2349. {$ENDIF DYNAMIC_LINK}
  2350. {$IFDEF DYNAMIC_LINK}
  2351. var
  2352.   _I_BrowserResetStatistics: Pointer;
  2353. function I_BrowserResetStatistics;
  2354. begin
  2355.   GetProcedureAddress(_I_BrowserResetStatistics, netapi32lib, 'I_BrowserResetStatistics');
  2356.   asm
  2357.     mov esp, ebp
  2358.     pop ebp
  2359.     jmp [_I_BrowserResetStatistics]
  2360.   end;
  2361. end;
  2362. {$ELSE}
  2363. function I_BrowserResetStatistics; external netapi32lib name 'I_BrowserResetStatistics';
  2364. {$ENDIF DYNAMIC_LINK}
  2365. {$IFDEF DYNAMIC_LINK}
  2366. var
  2367.   _I_BrowserServerEnumForXactsrv: Pointer;
  2368. function I_BrowserServerEnumForXactsrv;
  2369. begin
  2370.   GetProcedureAddress(_I_BrowserServerEnumForXactsrv, netapi32lib, 'I_BrowserServerEnumForXactsrv');
  2371.   asm
  2372.     mov esp, ebp
  2373.     pop ebp
  2374.     jmp [_I_BrowserServerEnumForXactsrv]
  2375.   end;
  2376. end;
  2377. {$ELSE}
  2378. function I_BrowserServerEnumForXactsrv; external netapi32lib name 'I_BrowserServerEnumForXactsrv';
  2379. {$ENDIF DYNAMIC_LINK}
  2380. {$IFDEF DYNAMIC_LINK}
  2381. var
  2382.   _I_BrowserDebugTrace: Pointer;
  2383. function I_BrowserDebugTrace;
  2384. begin
  2385.   GetProcedureAddress(_I_BrowserDebugTrace, netapi32lib, 'I_BrowserDebugTrace');
  2386.   asm
  2387.     mov esp, ebp
  2388.     pop ebp
  2389.     jmp [_I_BrowserDebugTrace]
  2390.   end;
  2391. end;
  2392. {$ELSE}
  2393. function I_BrowserDebugTrace; external netapi32lib name 'I_BrowserDebugTrace';
  2394. {$ENDIF DYNAMIC_LINK}
  2395. // LMCHDEV.H
  2396. {$IFDEF DYNAMIC_LINK}
  2397. var
  2398.   _NetCharDevEnum: Pointer;
  2399. function NetCharDevEnum;
  2400. begin
  2401.   GetProcedureAddress(_NetCharDevEnum, netapi32lib, 'NetCharDevEnum');
  2402.   asm
  2403.     mov esp, ebp
  2404.     pop ebp
  2405.     jmp [_NetCharDevEnum]
  2406.   end;
  2407. end;
  2408. {$ELSE}
  2409. function NetCharDevEnum; external netapi32lib name 'NetCharDevEnum';
  2410. {$ENDIF DYNAMIC_LINK}
  2411. {$IFDEF DYNAMIC_LINK}
  2412. var
  2413.   _NetCharDevGetInfo: Pointer;
  2414. function NetCharDevGetInfo;
  2415. begin
  2416.   GetProcedureAddress(_NetCharDevGetInfo, netapi32lib, 'NetCharDevGetInfo');
  2417.   asm
  2418.     mov esp, ebp
  2419.     pop ebp
  2420.     jmp [_NetCharDevGetInfo]
  2421.   end;
  2422. end;
  2423. {$ELSE}
  2424. function NetCharDevGetInfo; external netapi32lib name 'NetCharDevGetInfo';
  2425. {$ENDIF DYNAMIC_LINK}
  2426. {$IFDEF DYNAMIC_LINK}
  2427. var
  2428.   _NetCharDevControl: Pointer;
  2429. function NetCharDevControl;
  2430. begin
  2431.   GetProcedureAddress(_NetCharDevControl, netapi32lib, 'NetCharDevControl');
  2432.   asm
  2433.     mov esp, ebp
  2434.     pop ebp
  2435.     jmp [_NetCharDevControl]
  2436.   end;
  2437. end;
  2438. {$ELSE}
  2439. function NetCharDevControl; external netapi32lib name 'NetCharDevControl';
  2440. {$ENDIF DYNAMIC_LINK}
  2441. {$IFDEF DYNAMIC_LINK}
  2442. var
  2443.   _NetCharDevQEnum: Pointer;
  2444. function NetCharDevQEnum;
  2445. begin
  2446.   GetProcedureAddress(_NetCharDevQEnum, netapi32lib, 'NetCharDevQEnum');
  2447.   asm
  2448.     mov esp, ebp
  2449.     pop ebp
  2450.     jmp [_NetCharDevQEnum]
  2451.   end;
  2452. end;
  2453. {$ELSE}
  2454. function NetCharDevQEnum; external netapi32lib name 'NetCharDevQEnum';
  2455. {$ENDIF DYNAMIC_LINK}
  2456. {$IFDEF DYNAMIC_LINK}
  2457. var
  2458.   _NetCharDevQGetInfo: Pointer;
  2459. function NetCharDevQGetInfo;
  2460. begin
  2461.   GetProcedureAddress(_NetCharDevQGetInfo, netapi32lib, 'NetCharDevQGetInfo');
  2462.   asm
  2463.     mov esp, ebp
  2464.     pop ebp
  2465.     jmp [_NetCharDevQGetInfo]
  2466.   end;
  2467. end;
  2468. {$ELSE}
  2469. function NetCharDevQGetInfo; external netapi32lib name 'NetCharDevQGetInfo';
  2470. {$ENDIF DYNAMIC_LINK}
  2471. {$IFDEF DYNAMIC_LINK}
  2472. var
  2473.   _NetCharDevQSetInfo: Pointer;
  2474. function NetCharDevQSetInfo;
  2475. begin
  2476.   GetProcedureAddress(_NetCharDevQSetInfo, netapi32lib, 'NetCharDevQSetInfo');
  2477.   asm
  2478.     mov esp, ebp
  2479.     pop ebp
  2480.     jmp [_NetCharDevQSetInfo]
  2481.   end;
  2482. end;
  2483. {$ELSE}
  2484. function NetCharDevQSetInfo; external netapi32lib name 'NetCharDevQSetInfo';
  2485. {$ENDIF DYNAMIC_LINK}
  2486. {$IFDEF DYNAMIC_LINK}
  2487. var
  2488.   _NetCharDevQPurge: Pointer;
  2489. function NetCharDevQPurge;
  2490. begin
  2491.   GetProcedureAddress(_NetCharDevQPurge, netapi32lib, 'NetCharDevQPurge');
  2492.   asm
  2493.     mov esp, ebp
  2494.     pop ebp
  2495.     jmp [_NetCharDevQPurge]
  2496.   end;
  2497. end;
  2498. {$ELSE}
  2499. function NetCharDevQPurge; external netapi32lib name 'NetCharDevQPurge';
  2500. {$ENDIF DYNAMIC_LINK}
  2501. {$IFDEF DYNAMIC_LINK}
  2502. var
  2503.   _NetCharDevQPurgeSelf: Pointer;
  2504. function NetCharDevQPurgeSelf;
  2505. begin
  2506.   GetProcedureAddress(_NetCharDevQPurgeSelf, netapi32lib, 'NetCharDevQPurgeSelf');
  2507.   asm
  2508.     mov esp, ebp
  2509.     pop ebp
  2510.     jmp [_NetCharDevQPurgeSelf]
  2511.   end;
  2512. end;
  2513. {$ELSE}
  2514. function NetCharDevQPurgeSelf; external netapi32lib name 'NetCharDevQPurgeSelf';
  2515. {$ENDIF DYNAMIC_LINK}
  2516. {$IFDEF DYNAMIC_LINK}
  2517. var
  2518.   _NetHandleGetInfo: Pointer;
  2519. function NetHandleGetInfo;
  2520. begin
  2521.   GetProcedureAddress(_NetHandleGetInfo, netapi32lib, 'NetHandleGetInfo');
  2522.   asm
  2523.     mov esp, ebp
  2524.     pop ebp
  2525.     jmp [_NetHandleGetInfo]
  2526.   end;
  2527. end;
  2528. {$ELSE}
  2529. function NetHandleGetInfo; external netapi32lib name 'NetHandleGetInfo';
  2530. {$ENDIF DYNAMIC_LINK}
  2531. {$IFDEF DYNAMIC_LINK}
  2532. var
  2533.   _NetHandleSetInfo: Pointer;
  2534. function NetHandleSetInfo;
  2535. begin
  2536.   GetProcedureAddress(_NetHandleSetInfo, netapi32lib, 'NetHandleSetInfo');
  2537.   asm
  2538.     mov esp, ebp
  2539.     pop ebp
  2540.     jmp [_NetHandleSetInfo]
  2541.   end;
  2542. end;
  2543. {$ELSE}
  2544. function NetHandleSetInfo; external netapi32lib name 'NetHandleSetInfo';
  2545. {$ENDIF DYNAMIC_LINK}
  2546. // LMDFS.H
  2547. {$IFDEF DYNAMIC_LINK}
  2548. var
  2549.   _NetDfsAdd: Pointer;
  2550. function NetDfsAdd;
  2551. begin
  2552.   GetProcedureAddress(_NetDfsAdd, netapi32lib, 'NetDfsAdd');
  2553.   asm
  2554.     mov esp, ebp
  2555.     pop ebp
  2556.     jmp [_NetDfsAdd]
  2557.   end;
  2558. end;
  2559. {$ELSE}
  2560. function NetDfsAdd; external netapi32lib name 'NetDfsAdd';
  2561. {$ENDIF DYNAMIC_LINK}
  2562. {$IFDEF DYNAMIC_LINK}
  2563. var
  2564.   _NetDfsAddStdRoot: Pointer;
  2565. function NetDfsAddStdRoot;
  2566. begin
  2567.   GetProcedureAddress(_NetDfsAddStdRoot, netapi32lib, 'NetDfsAddStdRoot');
  2568.   asm
  2569.     mov esp, ebp
  2570.     pop ebp
  2571.     jmp [_NetDfsAddStdRoot]
  2572.   end;
  2573. end;
  2574. {$ELSE}
  2575. function NetDfsAddStdRoot; external netapi32lib name 'NetDfsAddStdRoot';
  2576. {$ENDIF DYNAMIC_LINK}
  2577. {$IFDEF DYNAMIC_LINK}
  2578. var
  2579.   _NetDfsRemoveStdRoot: Pointer;
  2580. function NetDfsRemoveStdRoot;
  2581. begin
  2582.   GetProcedureAddress(_NetDfsRemoveStdRoot, netapi32lib, 'NetDfsRemoveStdRoot');
  2583.   asm
  2584.     mov esp, ebp
  2585.     pop ebp
  2586.     jmp [_NetDfsRemoveStdRoot]
  2587.   end;
  2588. end;
  2589. {$ELSE}
  2590. function NetDfsRemoveStdRoot; external netapi32lib name 'NetDfsRemoveStdRoot';
  2591. {$ENDIF DYNAMIC_LINK}
  2592. {$IFDEF DYNAMIC_LINK}
  2593. var
  2594.   _NetDfsAddFtRoot: Pointer;
  2595. function NetDfsAddFtRoot;
  2596. begin
  2597.   GetProcedureAddress(_NetDfsAddFtRoot, netapi32lib, 'NetDfsAddFtRoot');
  2598.   asm
  2599.     mov esp, ebp
  2600.     pop ebp
  2601.     jmp [_NetDfsAddFtRoot]
  2602.   end;
  2603. end;
  2604. {$ELSE}
  2605. function NetDfsAddFtRoot; external netapi32lib name 'NetDfsAddFtRoot';
  2606. {$ENDIF DYNAMIC_LINK}
  2607. {$IFDEF DYNAMIC_LINK}
  2608. var
  2609.   _NetDfsRemoveFtRoot: Pointer;
  2610. function NetDfsRemoveFtRoot;
  2611. begin
  2612.   GetProcedureAddress(_NetDfsRemoveFtRoot, netapi32lib, 'NetDfsRemoveFtRoot');
  2613.   asm
  2614.     mov esp, ebp
  2615.     pop ebp
  2616.     jmp [_NetDfsRemoveFtRoot]
  2617.   end;
  2618. end;
  2619. {$ELSE}
  2620. function NetDfsRemoveFtRoot; external netapi32lib name 'NetDfsRemoveFtRoot';
  2621. {$ENDIF DYNAMIC_LINK}
  2622. {$IFDEF DYNAMIC_LINK}
  2623. var
  2624.   _NetDfsRemoveFtRootForced: Pointer;
  2625. function NetDfsRemoveFtRootForced;
  2626. begin
  2627.   GetProcedureAddress(_NetDfsRemoveFtRootForced, netapi32lib, 'NetDfsRemoveFtRootForced');
  2628.   asm
  2629.     mov esp, ebp
  2630.     pop ebp
  2631.     jmp [_NetDfsRemoveFtRootForced]
  2632.   end;
  2633. end;
  2634. {$ELSE}
  2635. function NetDfsRemoveFtRootForced; external netapi32lib name 'NetDfsRemoveFtRootForced';
  2636. {$ENDIF DYNAMIC_LINK}
  2637. {$IFDEF DYNAMIC_LINK}
  2638. var
  2639.   _NetDfsManagerInitialize: Pointer;
  2640. function NetDfsManagerInitialize;
  2641. begin
  2642.   GetProcedureAddress(_NetDfsManagerInitialize, netapi32lib, 'NetDfsManagerInitialize');
  2643.   asm
  2644.     mov esp, ebp
  2645.     pop ebp
  2646.     jmp [_NetDfsManagerInitialize]
  2647.   end;
  2648. end;
  2649. {$ELSE}
  2650. function NetDfsManagerInitialize; external netapi32lib name 'NetDfsManagerInitialize';
  2651. {$ENDIF DYNAMIC_LINK}
  2652. {$IFDEF DYNAMIC_LINK}
  2653. var
  2654.   _NetDfsAddStdRootForced: Pointer;
  2655. function NetDfsAddStdRootForced;
  2656. begin
  2657.   GetProcedureAddress(_NetDfsAddStdRootForced, netapi32lib, 'NetDfsAddStdRootForced');
  2658.   asm
  2659.     mov esp, ebp
  2660.     pop ebp
  2661.     jmp [_NetDfsAddStdRootForced]
  2662.   end;
  2663. end;
  2664. {$ELSE}
  2665. function NetDfsAddStdRootForced; external netapi32lib name 'NetDfsAddStdRootForced';
  2666. {$ENDIF DYNAMIC_LINK}
  2667. {$IFDEF DYNAMIC_LINK}
  2668. var
  2669.   _NetDfsGetDcAddress: Pointer;
  2670. function NetDfsGetDcAddress;
  2671. begin
  2672.   GetProcedureAddress(_NetDfsGetDcAddress, netapi32lib, 'NetDfsGetDcAddress');
  2673.   asm
  2674.     mov esp, ebp
  2675.     pop ebp
  2676.     jmp [_NetDfsGetDcAddress]
  2677.   end;
  2678. end;
  2679. {$ELSE}
  2680. function NetDfsGetDcAddress; external netapi32lib name 'NetDfsGetDcAddress';
  2681. {$ENDIF DYNAMIC_LINK}
  2682. {$IFDEF DYNAMIC_LINK}
  2683. var
  2684.   _NetDfsSetDcAddress: Pointer;
  2685. function NetDfsSetDcAddress;
  2686. begin
  2687.   GetProcedureAddress(_NetDfsSetDcAddress, netapi32lib, 'NetDfsSetDcAddress');
  2688.   asm
  2689.     mov esp, ebp
  2690.     pop ebp
  2691.     jmp [_NetDfsSetDcAddress]
  2692.   end;
  2693. end;
  2694. {$ELSE}
  2695. function NetDfsSetDcAddress; external netapi32lib name 'NetDfsSetDcAddress';
  2696. {$ENDIF DYNAMIC_LINK}
  2697. {$IFDEF DYNAMIC_LINK}
  2698. var
  2699.   _NetDfsRemove: Pointer;
  2700. function NetDfsRemove;
  2701. begin
  2702.   GetProcedureAddress(_NetDfsRemove, netapi32lib, 'NetDfsRemove');
  2703.   asm
  2704.     mov esp, ebp
  2705.     pop ebp
  2706.     jmp [_NetDfsRemove]
  2707.   end;
  2708. end;
  2709. {$ELSE}
  2710. function NetDfsRemove; external netapi32lib name 'NetDfsRemove';
  2711. {$ENDIF DYNAMIC_LINK}
  2712. {$IFDEF DYNAMIC_LINK}
  2713. var
  2714.   _NetDfsEnum: Pointer;
  2715. function NetDfsEnum;
  2716. begin
  2717.   GetProcedureAddress(_NetDfsEnum, netapi32lib, 'NetDfsEnum');
  2718.   asm
  2719.     mov esp, ebp
  2720.     pop ebp
  2721.     jmp [_NetDfsEnum]
  2722.   end;
  2723. end;
  2724. {$ELSE}
  2725. function NetDfsEnum; external netapi32lib name 'NetDfsEnum';
  2726. {$ENDIF DYNAMIC_LINK}
  2727. {$IFDEF DYNAMIC_LINK}
  2728. var
  2729.   _NetDfsGetInfo: Pointer;
  2730. function NetDfsGetInfo;
  2731. begin
  2732.   GetProcedureAddress(_NetDfsGetInfo, netapi32lib, 'NetDfsGetInfo');
  2733.   asm
  2734.     mov esp, ebp
  2735.     pop ebp
  2736.     jmp [_NetDfsGetInfo]
  2737.   end;
  2738. end;
  2739. {$ELSE}
  2740. function NetDfsGetInfo; external netapi32lib name 'NetDfsGetInfo';
  2741. {$ENDIF DYNAMIC_LINK}
  2742. {$IFDEF DYNAMIC_LINK}
  2743. var
  2744.   _NetDfsSetInfo: Pointer;
  2745. function NetDfsSetInfo;
  2746. begin
  2747.   GetProcedureAddress(_NetDfsSetInfo, netapi32lib, 'NetDfsSetInfo');
  2748.   asm
  2749.     mov esp, ebp
  2750.     pop ebp
  2751.     jmp [_NetDfsSetInfo]
  2752.   end;
  2753. end;
  2754. {$ELSE}
  2755. function NetDfsSetInfo; external netapi32lib name 'NetDfsSetInfo';
  2756. {$ENDIF DYNAMIC_LINK}
  2757. {$IFDEF DYNAMIC_LINK}
  2758. var
  2759.   _NetDfsGetClientInfo: Pointer;
  2760. function NetDfsGetClientInfo;
  2761. begin
  2762.   GetProcedureAddress(_NetDfsGetClientInfo, netapi32lib, 'NetDfsGetClientInfo');
  2763.   asm
  2764.     mov esp, ebp
  2765.     pop ebp
  2766.     jmp [_NetDfsGetClientInfo]
  2767.   end;
  2768. end;
  2769. {$ELSE}
  2770. function NetDfsGetClientInfo; external netapi32lib name 'NetDfsGetClientInfo';
  2771. {$ENDIF DYNAMIC_LINK}
  2772. {$IFDEF DYNAMIC_LINK}
  2773. var
  2774.   _NetDfsSetClientInfo: Pointer;
  2775. function NetDfsSetClientInfo;
  2776. begin
  2777.   GetProcedureAddress(_NetDfsSetClientInfo, netapi32lib, 'NetDfsSetClientInfo');
  2778.   asm
  2779.     mov esp, ebp
  2780.     pop ebp
  2781.     jmp [_NetDfsSetClientInfo]
  2782.   end;
  2783. end;
  2784. {$ELSE}
  2785. function NetDfsSetClientInfo; external netapi32lib name 'NetDfsSetClientInfo';
  2786. {$ENDIF DYNAMIC_LINK}
  2787. {$IFDEF DYNAMIC_LINK}
  2788. var
  2789.   _NetDfsMove: Pointer;
  2790. function NetDfsMove;
  2791. begin
  2792.   GetProcedureAddress(_NetDfsMove, netapi32lib, 'NetDfsMove');
  2793.   asm
  2794.     mov esp, ebp
  2795.     pop ebp
  2796.     jmp [_NetDfsMove]
  2797.   end;
  2798. end;
  2799. {$ELSE}
  2800. function NetDfsMove; external netapi32lib name 'NetDfsMove';
  2801. {$ENDIF DYNAMIC_LINK}
  2802. {$IFDEF DYNAMIC_LINK}
  2803. var
  2804.   _NetDfsRename: Pointer;
  2805. function NetDfsRename;
  2806. begin
  2807.   GetProcedureAddress(_NetDfsRename, netapi32lib, 'NetDfsRename');
  2808.   asm
  2809.     mov esp, ebp
  2810.     pop ebp
  2811.     jmp [_NetDfsRename]
  2812.   end;
  2813. end;
  2814. {$ELSE}
  2815. function NetDfsRename; external netapi32lib name 'NetDfsRename';
  2816. {$ENDIF DYNAMIC_LINK}
  2817. end.