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