1 {******************************************************************************}
2 {                                                                              }
3 { Lan Manager Replicator API interface Unit for Object Pascal                  }
4 {                                                                              }
5 { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
6 { Corporation. All Rights Reserved.                                            }
7 {                                                                              }
8 { The original file is: lmrepl.h, released November 2001. The original Pascal  }
9 { code is: LmRepl.pas, released Februari 2002. The initial developer of the    }
10 { Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
11 {                                                                              }
12 { Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
13 { Marcel van Brakel. All Rights Reserved.                                      }
14 {                                                                              }
15 { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
16 {                                                                              }
17 { You may retrieve the latest version of this file at the Project JEDI         }
18 { APILIB home page, located at http://jedi-apilib.sourceforge.net              }
19 {                                                                              }
20 { The contents of this file are used with permission, subject to the Mozilla   }
21 { Public License Version 1.1 (the "License"); you may not use this file except }
22 { in compliance with the License. You may obtain a copy of the License at      }
23 { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
24 {                                                                              }
25 { Software distributed under the License is distributed on an "AS IS" basis,   }
26 { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
27 { the specific language governing rights and limitations under the License.    }
28 {                                                                              }
29 { Alternatively, the contents of this file may be used under the terms of the  }
30 { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
31 { provisions of the LGPL License are applicable instead of those above.        }
32 { If you wish to allow use of your version of this file only under the terms   }
33 { of the LGPL License and not to allow others to use your version of this file }
34 { under the MPL, indicate your decision by deleting  the provisions above and  }
35 { replace  them with the notice and other provisions required by the LGPL      }
36 { License.  If you do not delete the provisions above, a recipient may use     }
37 { your version of this file under either the MPL or the LGPL License.          }
38 {                                                                              }
39 { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
40 {                                                                              }
41 {******************************************************************************}
42 
43 // $Id: JwaLmRepl.pas,v 1.12 2007/09/05 11:58:50 dezipaitor Exp $
44 
45 {$IFNDEF JWA_OMIT_SECTIONS_LM}
46 unit JwaLmRepl;
47 
48 {$WEAKPACKAGEUNIT}
49 {$ENDIF JWA_OMIT_SECTIONS_LM}
50 
51 {$HPPEMIT ''}
52 {$HPPEMIT '#include "lmrepl.h"'}
53 {$HPPEMIT ''}
54 
55 {$IFNDEF JWA_OMIT_SECTIONS_LM}
56 {$I jediapilib.inc}
57 
58 interface
59 
60 uses
61   JwaLmCons, JwaWinType;
62 
63 {$ENDIF JWA_OMIT_SECTIONS_LM}
64 
65 {$IFNDEF JWA_IMPLEMENTATIONSECTION}
66 //
67 // Replicator Configuration APIs
68 //
69 
70 const
71   REPL_ROLE_EXPORT = 1;
72   {$EXTERNALSYM REPL_ROLE_EXPORT}
73   REPL_ROLE_IMPORT = 2;
74   {$EXTERNALSYM REPL_ROLE_IMPORT}
75   REPL_ROLE_BOTH   = 3;
76   {$EXTERNALSYM REPL_ROLE_BOTH}
77 
78   REPL_INTERVAL_INFOLEVEL  = PARMNUM_BASE_INFOLEVEL + 0;
79   {$EXTERNALSYM REPL_INTERVAL_INFOLEVEL}
80   REPL_PULSE_INFOLEVEL     = PARMNUM_BASE_INFOLEVEL + 1;
81   {$EXTERNALSYM REPL_PULSE_INFOLEVEL}
82   REPL_GUARDTIME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + 2;
83   {$EXTERNALSYM REPL_GUARDTIME_INFOLEVEL}
84   REPL_RANDOM_INFOLEVEL    = PARMNUM_BASE_INFOLEVEL + 3;
85   {$EXTERNALSYM REPL_RANDOM_INFOLEVEL}
86 
87 type
88   _REPL_INFO_0 = record
89     rp0_role: DWORD;
90     rp0_exportpath: LPWSTR;
91     rp0_exportlist: LPWSTR;
92     rp0_importpath: LPWSTR;
93     rp0_importlist: LPWSTR;
94     rp0_logonusername: LPWSTR;
95     rp0_interval: DWORD;
96     rp0_pulse: DWORD;
97     rp0_guardtime: DWORD;
98     rp0_random: DWORD;
99   end;
100   {$EXTERNALSYM _REPL_INFO_0}
101   REPL_INFO_0 = _REPL_INFO_0;
102   {$EXTERNALSYM REPL_INFO_0}
103   LPREPL_INFO_0 = ^REPL_INFO_0;
104   {$EXTERNALSYM LPREPL_INFO_0}
105   PREPL_INFO_0 = ^REPL_INFO_0;
106   {$EXTERNALSYM PREPL_INFO_0}
107   TReplInfo0 = REPL_INFO_0;
108   PReplInfo0 = PREPL_INFO_0;
109 
110   _REPL_INFO_1000 = record
111     rp1000_interval: DWORD;
112   end;
113   {$EXTERNALSYM _REPL_INFO_1000}
114   REPL_INFO_1000 = _REPL_INFO_1000;
115   {$EXTERNALSYM REPL_INFO_1000}
116   LPREPL_INFO_1000 = ^REPL_INFO_1000;
117   {$EXTERNALSYM LPREPL_INFO_1000}
118   PREPL_INFO_1000 = ^REPL_INFO_1000;
119   {$EXTERNALSYM PREPL_INFO_1000}
120   TReplInfo1000 = REPL_INFO_1000;
121   PReplInfo1000 = PREPL_INFO_1000;
122 
123   _REPL_INFO_1001 = record
124     rp1001_pulse: DWORD;
125   end;
126   {$EXTERNALSYM _REPL_INFO_1001}
127   REPL_INFO_1001 = _REPL_INFO_1001;
128   {$EXTERNALSYM REPL_INFO_1001}
129   LPREPL_INFO_1001 = ^REPL_INFO_1001;
130   {$EXTERNALSYM LPREPL_INFO_1001}
131   PREPL_INFO_1001 = ^REPL_INFO_1001;
132   {$EXTERNALSYM PREPL_INFO_1001}
133   TReplInfo1001 = REPL_INFO_1001;
134   PReplInfo1001 = PREPL_INFO_1001;
135 
136   _REPL_INFO_1002 = record
137     rp1002_guardtime: DWORD;
138   end;
139   {$EXTERNALSYM _REPL_INFO_1002}
140   REPL_INFO_1002 = _REPL_INFO_1002;
141   {$EXTERNALSYM REPL_INFO_1002}
142   LPREPL_INFO_1002 = ^REPL_INFO_1002;
143   {$EXTERNALSYM LPREPL_INFO_1002}
144   PREPL_INFO_1002 = ^REPL_INFO_1002;
145   {$EXTERNALSYM PREPL_INFO_1002}
146   TReplInfo1002 = REPL_INFO_1002;
147   PReplInfo1002 = PREPL_INFO_1002;
148 
149   _REPL_INFO_1003 = record
150     rp1003_random: DWORD;
151   end;
152   {$EXTERNALSYM _REPL_INFO_1003}
153   REPL_INFO_1003 = _REPL_INFO_1003;
154   {$EXTERNALSYM REPL_INFO_1003}
155   LPREPL_INFO_1003 = ^REPL_INFO_1003;
156   {$EXTERNALSYM LPREPL_INFO_1003}
157   PREPL_INFO_1003 = ^REPL_INFO_1003;
158   {$EXTERNALSYM PREPL_INFO_1003}
159   TReplInfo1003 = REPL_INFO_1003;
160   PReplInfo1003 = PREPL_INFO_1003;
161 
NetReplGetInfonull162 function NetReplGetInfo(servername: LPCWSTR; level: DWORD; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
163 {$EXTERNALSYM NetReplGetInfo}
164 
NetReplSetInfonull165 function NetReplSetInfo(servername: LPCWSTR; level: DWORD; buf: LPBYTE ; parm_err: LPDWORD): NET_API_STATUS; stdcall;
166 {$EXTERNALSYM NetReplSetInfo}
167 
168 //
169 // Replicator Export Directory APIs
170 //
171 
172 const
173   REPL_INTEGRITY_FILE = 1;
174   {$EXTERNALSYM REPL_INTEGRITY_FILE}
175   REPL_INTEGRITY_TREE = 2;
176   {$EXTERNALSYM REPL_INTEGRITY_TREE}
177 
178   REPL_EXTENT_FILE = 1;
179   {$EXTERNALSYM REPL_EXTENT_FILE}
180   REPL_EXTENT_TREE = 2;
181   {$EXTERNALSYM REPL_EXTENT_TREE}
182 
183   REPL_EXPORT_INTEGRITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + 0;
184   {$EXTERNALSYM REPL_EXPORT_INTEGRITY_INFOLEVEL}
185   REPL_EXPORT_EXTENT_INFOLEVEL    = PARMNUM_BASE_INFOLEVEL + 1;
186   {$EXTERNALSYM REPL_EXPORT_EXTENT_INFOLEVEL}
187 
188 type
189   _REPL_EDIR_INFO_0 = record
190     rped0_dirname: LPWSTR;
191   end;
192   {$EXTERNALSYM _REPL_EDIR_INFO_0}
193   REPL_EDIR_INFO_0 = _REPL_EDIR_INFO_0;
194   {$EXTERNALSYM REPL_EDIR_INFO_0}
195   LPREPL_EDIR_INFO_0 = ^REPL_EDIR_INFO_0;
196   {$EXTERNALSYM LPREPL_EDIR_INFO_0}
197   PREPL_EDIR_INFO_0 = ^REPL_EDIR_INFO_0;
198   {$EXTERNALSYM PREPL_EDIR_INFO_0}
199   TReplEdirInfo0 = REPL_EDIR_INFO_0;
200   PReplEdirInfo0 = PREPL_EDIR_INFO_0;
201 
202   _REPL_EDIR_INFO_1 = record
203     rped1_dirname: LPWSTR;
204     rped1_integrity: DWORD;
205     rped1_extent: DWORD;
206   end;
207   {$EXTERNALSYM _REPL_EDIR_INFO_1}
208   REPL_EDIR_INFO_1 = _REPL_EDIR_INFO_1;
209   {$EXTERNALSYM REPL_EDIR_INFO_1}
210   LPREPL_EDIR_INFO_1 = ^REPL_EDIR_INFO_1;
211   {$EXTERNALSYM LPREPL_EDIR_INFO_1}
212   PREPL_EDIR_INFO_1 = ^REPL_EDIR_INFO_1;
213   {$EXTERNALSYM PREPL_EDIR_INFO_1}
214   TReplEdirInfo1 = REPL_EDIR_INFO_1;
215   PReplEdirInfo1 = PREPL_EDIR_INFO_1;
216 
217   _REPL_EDIR_INFO_2 = record
218     rped2_dirname: LPWSTR;
219     rped2_integrity: DWORD;
220     rped2_extent: DWORD;
221     rped2_lockcount: DWORD;
222     rped2_locktime: DWORD;
223   end;
224   {$EXTERNALSYM _REPL_EDIR_INFO_2}
225   REPL_EDIR_INFO_2 = _REPL_EDIR_INFO_2;
226   {$EXTERNALSYM REPL_EDIR_INFO_2}
227   LPREPL_EDIR_INFO_2 = ^REPL_EDIR_INFO_2;
228   {$EXTERNALSYM LPREPL_EDIR_INFO_2}
229   PREPL_EDIR_INFO_2 = ^REPL_EDIR_INFO_2;
230   {$EXTERNALSYM PREPL_EDIR_INFO_2}
231   TReplEdirInfo2 = REPL_EDIR_INFO_2;
232   PReplEdirInfo2 = PREPL_EDIR_INFO_2;
233 
234   _REPL_EDIR_INFO_1000 = record
235     rped1000_integrity: DWORD;
236   end;
237   {$EXTERNALSYM _REPL_EDIR_INFO_1000}
238   REPL_EDIR_INFO_1000 = _REPL_EDIR_INFO_1000;
239   {$EXTERNALSYM REPL_EDIR_INFO_1000}
240   LPREPL_EDIR_INFO_1000 = ^REPL_EDIR_INFO_1000;
241   {$EXTERNALSYM LPREPL_EDIR_INFO_1000}
242   PREPL_EDIR_INFO_1000 = ^REPL_EDIR_INFO_1000;
243   {$EXTERNALSYM PREPL_EDIR_INFO_1000}
244   TReplEdirInfo1000 = REPL_EDIR_INFO_1000;
245   PReplEdirInfo1000 = PREPL_EDIR_INFO_1000;
246 
247   _REPL_EDIR_INFO_1001 = record
248     rped1001_extent: DWORD;
249   end;
250   {$EXTERNALSYM _REPL_EDIR_INFO_1001}
251   REPL_EDIR_INFO_1001 = _REPL_EDIR_INFO_1001;
252   {$EXTERNALSYM REPL_EDIR_INFO_1001}
253   LPREPL_EDIR_INFO_1001 = ^REPL_EDIR_INFO_1001;
254   {$EXTERNALSYM LPREPL_EDIR_INFO_1001}
255   PREPL_EDIR_INFO_1001 = ^REPL_EDIR_INFO_1001;
256   {$EXTERNALSYM PREPL_EDIR_INFO_1001}
257   TReplEdirInfo1001 = REPL_EDIR_INFO_1001;
258   PReplEdirInfo1001 = PREPL_EDIR_INFO_1001;
259 
NetReplExportDirAddnull260 function NetReplExportDirAdd(servername: LPCWSTR; level: DWORD; buf: LPBYTE ; parm_err: LPDWORD): NET_API_STATUS; stdcall;
261 {$EXTERNALSYM NetReplExportDirAdd}
262 
NetReplExportDirDelnull263 function NetReplExportDirDel(servername: LPCWSTR; dirname: LPCWSTR): NET_API_STATUS; stdcall;
264 {$EXTERNALSYM NetReplExportDirDel}
265 
NetReplExportDirEnumnull266 function NetReplExportDirEnum(servername: LPCWSTR; level: DWORD; var bufptr: LPBYTE; prefmaxlen: DWORD; entriesread, totalentries, resumehandle: LPDWORD): NET_API_STATUS; stdcall;
267 {$EXTERNALSYM NetReplExportDirEnum}
268 
NetReplExportDirGetInfonull269 function NetReplExportDirGetInfo(servername, dirname: LPCWSTR; level: DWORD; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
270 {$EXTERNALSYM NetReplExportDirGetInfo}
271 
NetReplExportDirSetInfonull272 function NetReplExportDirSetInfo(servername, dirname: LPCWSTR; level: DWORD; buf: LPBYTE; parm_err: LPDWORD): NET_API_STATUS; stdcall;
273 {$EXTERNALSYM NetReplExportDirSetInfo}
274 
NetReplExportDirLocknull275 function NetReplExportDirLock(servername: LPCWSTR; dirname: LPCWSTR): NET_API_STATUS; stdcall;
276 {$EXTERNALSYM NetReplExportDirLock}
277 
NetReplExportDirUnlocknull278 function NetReplExportDirUnlock(servername: LPCWSTR; dirname: LPCWSTR; unlockforce: DWORD): NET_API_STATUS; stdcall;
279 {$EXTERNALSYM NetReplExportDirUnlock}
280 
281 const
282   REPL_UNLOCK_NOFORCE = 0;
283   {$EXTERNALSYM REPL_UNLOCK_NOFORCE}
284   REPL_UNLOCK_FORCE   = 1;
285   {$EXTERNALSYM REPL_UNLOCK_FORCE}
286 
287 //
288 // Replicator Import Directory APIs
289 //
290 
291 type
292   _REPL_IDIR_INFO_0 = record
293     rpid0_dirname: LPWSTR;
294   end;
295   {$EXTERNALSYM _REPL_IDIR_INFO_0}
296   REPL_IDIR_INFO_0 = _REPL_IDIR_INFO_0;
297   {$EXTERNALSYM REPL_IDIR_INFO_0}
298   LPREPL_IDIR_INFO_0 = ^REPL_IDIR_INFO_0;
299   {$EXTERNALSYM LPREPL_IDIR_INFO_0}
300   PREPL_IDIR_INFO_0 = ^REPL_IDIR_INFO_0;
301   {$EXTERNALSYM PREPL_IDIR_INFO_0}
302   TReplIdirInfo0 = REPL_IDIR_INFO_0;
303   PReplIdirInfo0 = PREPL_IDIR_INFO_0;
304 
305   _REPL_IDIR_INFO_1 = record
306     rpid1_dirname: LPWSTR;
307     rpid1_state: DWORD;
308     rpid1_mastername: LPWSTR;
309     rpid1_last_update_time: DWORD;
310     rpid1_lockcount: DWORD;
311     rpid1_locktime: DWORD;
312   end;
313   {$EXTERNALSYM _REPL_IDIR_INFO_1}
314   REPL_IDIR_INFO_1 = _REPL_IDIR_INFO_1;
315   {$EXTERNALSYM REPL_IDIR_INFO_1}
316   LPREPL_IDIR_INFO_1 = ^REPL_IDIR_INFO_1;
317   {$EXTERNALSYM LPREPL_IDIR_INFO_1}
318   PREPL_IDIR_INFO_1 = ^REPL_IDIR_INFO_1;
319   {$EXTERNALSYM PREPL_IDIR_INFO_1}
320   TReplIdirInfo1 = REPL_IDIR_INFO_1;
321   PReplIdirInfo1 = PREPL_IDIR_INFO_1;
322 
NetReplImportDirAddnull323 function NetReplImportDirAdd(servername: LPCWSTR; level: DWORD; buf: LPBYTE; parm_err: LPDWORD): NET_API_STATUS; stdcall;
324 {$EXTERNALSYM NetReplImportDirAdd}
325 
NetReplImportDirDelnull326 function NetReplImportDirDel(servername: LPCWSTR; dirname: LPCWSTR): NET_API_STATUS; stdcall;
327 {$EXTERNALSYM NetReplImportDirDel}
328 
NetReplImportDirEnumnull329 function NetReplImportDirEnum(servername: LPCWSTR; level: DWORD; var bufptr: LPBYTE; prefmaxlen: DWORD; entriesread, totalentries, resumehandle: LPDWORD): NET_API_STATUS; stdcall;
330 {$EXTERNALSYM NetReplImportDirEnum}
331 
NetReplImportDirGetInfonull332 function NetReplImportDirGetInfo(servername, dirname: LPCWSTR; level: DWORD; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
333 {$EXTERNALSYM NetReplImportDirGetInfo}
334 
NetReplImportDirLocknull335 function NetReplImportDirLock(servername: LPCWSTR; dirname: LPCWSTR): NET_API_STATUS; stdcall;
336 {$EXTERNALSYM NetReplImportDirLock}
337 
NetReplImportDirUnlocknull338 function NetReplImportDirUnlock(servername: LPCWSTR; dirname: LPCWSTR; unlockforce: DWORD): NET_API_STATUS; stdcall;
339 {$EXTERNALSYM NetReplImportDirUnlock}
340 
341 const
342   REPL_STATE_OK               = 0;
343   {$EXTERNALSYM REPL_STATE_OK}
344   REPL_STATE_NO_MASTER        = 1;
345   {$EXTERNALSYM REPL_STATE_NO_MASTER}
346   REPL_STATE_NO_SYNC          = 2;
347   {$EXTERNALSYM REPL_STATE_NO_SYNC}
348   REPL_STATE_NEVER_REPLICATED = 3;
349   {$EXTERNALSYM REPL_STATE_NEVER_REPLICATED}
350 {$ENDIF JWA_IMPLEMENTATIONSECTION}
351 
352 {$IFNDEF JWA_OMIT_SECTIONS_LM}
353 implementation
354 //uses ...
355 {$ENDIF JWA_OMIT_SECTIONS_LM}
356 
357 
358 
359 {$IFNDEF JWA_INTERFACESECTION}
360 
361 {$IFDEF DYNAMIC_LINK}
362 
363 var
364   _NetReplGetInfo: Pointer;
365 
NetReplGetInfonull366 function NetReplGetInfo;
367 begin
368   GetProcedureAddress(_NetReplGetInfo, netapi32, 'NetReplGetInfo');
369   asm
370         MOV     ESP, EBP
371         POP     EBP
372         JMP     [_NetReplGetInfo]
373   end;
374 end;
375 
376 var
377   _NetReplSetInfo: Pointer;
378 
NetReplSetInfonull379 function NetReplSetInfo;
380 begin
381   GetProcedureAddress(_NetReplSetInfo, netapi32, 'NetReplSetInfo');
382   asm
383         MOV     ESP, EBP
384         POP     EBP
385         JMP     [_NetReplSetInfo]
386   end;
387 end;
388 
389 var
390   _NetReplExportDirAdd: Pointer;
391 
NetReplExportDirAddnull392 function NetReplExportDirAdd;
393 begin
394   GetProcedureAddress(_NetReplExportDirAdd, netapi32, 'NetReplExportDirAdd');
395   asm
396         MOV     ESP, EBP
397         POP     EBP
398         JMP     [_NetReplExportDirAdd]
399   end;
400 end;
401 
402 var
403   _NetReplExportDirDel: Pointer;
404 
NetReplExportDirDelnull405 function NetReplExportDirDel;
406 begin
407   GetProcedureAddress(_NetReplExportDirDel, netapi32, 'NetReplExportDirDel');
408   asm
409         MOV     ESP, EBP
410         POP     EBP
411         JMP     [_NetReplExportDirDel]
412   end;
413 end;
414 
415 var
416   _NetReplExportDirEnum: Pointer;
417 
NetReplExportDirEnumnull418 function NetReplExportDirEnum;
419 begin
420   GetProcedureAddress(_NetReplExportDirEnum, netapi32, 'NetReplExportDirEnum');
421   asm
422         MOV     ESP, EBP
423         POP     EBP
424         JMP     [_NetReplExportDirEnum]
425   end;
426 end;
427 
428 var
429   _NetReplExportDirGetInfo: Pointer;
430 
NetReplExportDirGetInfonull431 function NetReplExportDirGetInfo;
432 begin
433   GetProcedureAddress(_NetReplExportDirGetInfo, netapi32, 'NetReplExportDirGetInfo');
434   asm
435         MOV     ESP, EBP
436         POP     EBP
437         JMP     [_NetReplExportDirGetInfo]
438   end;
439 end;
440 
441 var
442   _NetReplExportDirSetInfo: Pointer;
443 
NetReplExportDirSetInfonull444 function NetReplExportDirSetInfo;
445 begin
446   GetProcedureAddress(_NetReplExportDirSetInfo, netapi32, 'NetReplExportDirSetInfo');
447   asm
448         MOV     ESP, EBP
449         POP     EBP
450         JMP     [_NetReplExportDirSetInfo]
451   end;
452 end;
453 
454 var
455   _NetReplExportDirLock: Pointer;
456 
NetReplExportDirLocknull457 function NetReplExportDirLock;
458 begin
459   GetProcedureAddress(_NetReplExportDirLock, netapi32, 'NetReplExportDirLock');
460   asm
461         MOV     ESP, EBP
462         POP     EBP
463         JMP     [_NetReplExportDirLock]
464   end;
465 end;
466 
467 var
468   _NetReplExportDirUnlock: Pointer;
469 
NetReplExportDirUnlocknull470 function NetReplExportDirUnlock;
471 begin
472   GetProcedureAddress(_NetReplExportDirUnlock, netapi32, 'NetReplExportDirUnlock');
473   asm
474         MOV     ESP, EBP
475         POP     EBP
476         JMP     [_NetReplExportDirUnlock]
477   end;
478 end;
479 
480 var
481   _NetReplImportDirAdd: Pointer;
482 
NetReplImportDirAddnull483 function NetReplImportDirAdd;
484 begin
485   GetProcedureAddress(_NetReplImportDirAdd, netapi32, 'NetReplImportDirAdd');
486   asm
487         MOV     ESP, EBP
488         POP     EBP
489         JMP     [_NetReplImportDirAdd]
490   end;
491 end;
492 
493 var
494   _NetReplImportDirDel: Pointer;
495 
NetReplImportDirDelnull496 function NetReplImportDirDel;
497 begin
498   GetProcedureAddress(_NetReplImportDirDel, netapi32, 'NetReplImportDirDel');
499   asm
500         MOV     ESP, EBP
501         POP     EBP
502         JMP     [_NetReplImportDirDel]
503   end;
504 end;
505 
506 var
507   _NetReplImportDirEnum: Pointer;
508 
NetReplImportDirEnumnull509 function NetReplImportDirEnum;
510 begin
511   GetProcedureAddress(_NetReplImportDirEnum, netapi32, 'NetReplImportDirEnum');
512   asm
513         MOV     ESP, EBP
514         POP     EBP
515         JMP     [_NetReplImportDirEnum]
516   end;
517 end;
518 
519 var
520   _NetReplImportDirGetInfo: Pointer;
521 
NetReplImportDirGetInfonull522 function NetReplImportDirGetInfo;
523 begin
524   GetProcedureAddress(_NetReplImportDirGetInfo, netapi32, 'NetReplImportDirGetInfo');
525   asm
526         MOV     ESP, EBP
527         POP     EBP
528         JMP     [_NetReplImportDirGetInfo]
529   end;
530 end;
531 
532 var
533   _NetReplImportDirLock: Pointer;
534 
NetReplImportDirLocknull535 function NetReplImportDirLock;
536 begin
537   GetProcedureAddress(_NetReplImportDirLock, netapi32, 'NetReplImportDirLock');
538   asm
539         MOV     ESP, EBP
540         POP     EBP
541         JMP     [_NetReplImportDirLock]
542   end;
543 end;
544 
545 var
546   _NetReplImportDirUnlock: Pointer;
547 
NetReplImportDirUnlocknull548 function NetReplImportDirUnlock;
549 begin
550   GetProcedureAddress(_NetReplImportDirUnlock, netapi32, 'NetReplImportDirUnlock');
551   asm
552         MOV     ESP, EBP
553         POP     EBP
554         JMP     [_NetReplImportDirUnlock]
555   end;
556 end;
557 
558 {$ELSE}
559 
NetReplGetInfonull560 function NetReplGetInfo; external netapi32 name 'NetReplGetInfo';
NetReplSetInfonull561 function NetReplSetInfo; external netapi32 name 'NetReplSetInfo';
NetReplExportDirAddnull562 function NetReplExportDirAdd; external netapi32 name 'NetReplExportDirAdd';
NetReplExportDirDelnull563 function NetReplExportDirDel; external netapi32 name 'NetReplExportDirDel';
NetReplExportDirEnumnull564 function NetReplExportDirEnum; external netapi32 name 'NetReplExportDirEnum';
NetReplExportDirGetInfonull565 function NetReplExportDirGetInfo; external netapi32 name 'NetReplExportDirGetInfo';
NetReplExportDirSetInfonull566 function NetReplExportDirSetInfo; external netapi32 name 'NetReplExportDirSetInfo';
NetReplExportDirLocknull567 function NetReplExportDirLock; external netapi32 name 'NetReplExportDirLock';
NetReplExportDirUnlocknull568 function NetReplExportDirUnlock; external netapi32 name 'NetReplExportDirUnlock';
NetReplImportDirAddnull569 function NetReplImportDirAdd; external netapi32 name 'NetReplImportDirAdd';
NetReplImportDirDelnull570 function NetReplImportDirDel; external netapi32 name 'NetReplImportDirDel';
NetReplImportDirEnumnull571 function NetReplImportDirEnum; external netapi32 name 'NetReplImportDirEnum';
NetReplImportDirGetInfonull572 function NetReplImportDirGetInfo; external netapi32 name 'NetReplImportDirGetInfo';
NetReplImportDirLocknull573 function NetReplImportDirLock; external netapi32 name 'NetReplImportDirLock';
NetReplImportDirUnlocknull574 function NetReplImportDirUnlock; external netapi32 name 'NetReplImportDirUnlock';
575 
576 {$ENDIF DYNAMIC_LINK}
577 
578 {$ENDIF JWA_INTERFACESECTION}
579 
580 {$IFNDEF JWA_OMIT_SECTIONS_LM}
581 end.
582 {$ENDIF JWA_OMIT_SECTIONS_LM}
583