📄 jwalmrepl.pas
字号:
{******************************************************************************}
{ }
{ Lan Manager Replicator API interface Unit for Object Pascal }
{ }
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
{ Corporation. All Rights Reserved. }
{ }
{ The original file is: lmrepl.h, released November 2001. The original Pascal }
{ code is: LmRepl.pas, released Februari 2002. The initial developer of the }
{ Pascal code is Marcel van Brakel (brakelm@chello.nl). }
{ }
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
{ Marcel van Brakel. All Rights Reserved. }
{ }
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
{ }
{ You may retrieve the latest version of this file at the Project JEDI home }
{ page, located at http://delphi-jedi.org or my personal homepage located at }
{ http://members.chello.nl/m.vanbrakel2 }
{ }
{ The contents of this file are used with permission, subject to the Mozilla }
{ Public License Version 1.1 (the "License"); you may not use this file except }
{ in compliance with the License. You may obtain a copy of the License at }
{ http://www.mozilla.org/MPL/MPL-1.1.html }
{ }
{ Software distributed under the License is distributed on an "AS IS" basis, }
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
{ the specific language governing rights and limitations under the License. }
{ }
{ Alternatively, the contents of this file may be used under the terms of the }
{ GNU Lesser General Public License (the "LGPL License"), in which case the }
{ provisions of the LGPL License are applicable instead of those above. }
{ If you wish to allow use of your version of this file only under the terms }
{ of the LGPL License and not to allow others to use your version of this file }
{ under the MPL, indicate your decision by deleting the provisions above and }
{ replace them with the notice and other provisions required by the LGPL }
{ License. If you do not delete the provisions above, a recipient may use }
{ your version of this file under either the MPL or the LGPL License. }
{ }
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
{ }
{******************************************************************************}
unit JwaLmRepl;
{$WEAKPACKAGEUNIT}
{$HPPEMIT ''}
{$HPPEMIT '#include "lmrepl.h"'}
{$HPPEMIT ''}
{$I WINDEFINES.INC}
interface
uses
JwaLmCons, JwaWinType;
//
// Replicator Configuration APIs
//
const
REPL_ROLE_EXPORT = 1;
{$EXTERNALSYM REPL_ROLE_EXPORT}
REPL_ROLE_IMPORT = 2;
{$EXTERNALSYM REPL_ROLE_IMPORT}
REPL_ROLE_BOTH = 3;
{$EXTERNALSYM REPL_ROLE_BOTH}
REPL_INTERVAL_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + 0);
{$EXTERNALSYM REPL_INTERVAL_INFOLEVEL}
REPL_PULSE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + 1);
{$EXTERNALSYM REPL_PULSE_INFOLEVEL}
REPL_GUARDTIME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + 2);
{$EXTERNALSYM REPL_GUARDTIME_INFOLEVEL}
REPL_RANDOM_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + 3);
{$EXTERNALSYM REPL_RANDOM_INFOLEVEL}
type
_REPL_INFO_0 = record
rp0_role: DWORD;
rp0_exportpath: LPWSTR;
rp0_exportlist: LPWSTR;
rp0_importpath: LPWSTR;
rp0_importlist: LPWSTR;
rp0_logonusername: LPWSTR;
rp0_interval: DWORD;
rp0_pulse: DWORD;
rp0_guardtime: DWORD;
rp0_random: DWORD;
end;
{$EXTERNALSYM _REPL_INFO_0}
REPL_INFO_0 = _REPL_INFO_0;
{$EXTERNALSYM REPL_INFO_0}
LPREPL_INFO_0 = ^REPL_INFO_0;
{$EXTERNALSYM LPREPL_INFO_0}
PREPL_INFO_0 = ^REPL_INFO_0;
{$EXTERNALSYM PREPL_INFO_0}
TReplInfo0 = REPL_INFO_0;
PReplInfo0 = PREPL_INFO_0;
_REPL_INFO_1000 = record
rp1000_interval: DWORD;
end;
{$EXTERNALSYM _REPL_INFO_1000}
REPL_INFO_1000 = _REPL_INFO_1000;
{$EXTERNALSYM REPL_INFO_1000}
LPREPL_INFO_1000 = ^REPL_INFO_1000;
{$EXTERNALSYM LPREPL_INFO_1000}
PREPL_INFO_1000 = ^REPL_INFO_1000;
{$EXTERNALSYM PREPL_INFO_1000}
TReplInfo1000 = REPL_INFO_1000;
PReplInfo1000 = PREPL_INFO_1000;
_REPL_INFO_1001 = record
rp1001_pulse: DWORD;
end;
{$EXTERNALSYM _REPL_INFO_1001}
REPL_INFO_1001 = _REPL_INFO_1001;
{$EXTERNALSYM REPL_INFO_1001}
LPREPL_INFO_1001 = ^REPL_INFO_1001;
{$EXTERNALSYM LPREPL_INFO_1001}
PREPL_INFO_1001 = ^REPL_INFO_1001;
{$EXTERNALSYM PREPL_INFO_1001}
TReplInfo1001 = REPL_INFO_1001;
PReplInfo1001 = PREPL_INFO_1001;
_REPL_INFO_1002 = record
rp1002_guardtime: DWORD;
end;
{$EXTERNALSYM _REPL_INFO_1002}
REPL_INFO_1002 = _REPL_INFO_1002;
{$EXTERNALSYM REPL_INFO_1002}
LPREPL_INFO_1002 = ^REPL_INFO_1002;
{$EXTERNALSYM LPREPL_INFO_1002}
PREPL_INFO_1002 = ^REPL_INFO_1002;
{$EXTERNALSYM PREPL_INFO_1002}
TReplInfo1002 = REPL_INFO_1002;
PReplInfo1002 = PREPL_INFO_1002;
_REPL_INFO_1003 = record
rp1003_random: DWORD;
end;
{$EXTERNALSYM _REPL_INFO_1003}
REPL_INFO_1003 = _REPL_INFO_1003;
{$EXTERNALSYM REPL_INFO_1003}
LPREPL_INFO_1003 = ^REPL_INFO_1003;
{$EXTERNALSYM LPREPL_INFO_1003}
PREPL_INFO_1003 = ^REPL_INFO_1003;
{$EXTERNALSYM PREPL_INFO_1003}
TReplInfo1003 = REPL_INFO_1003;
PReplInfo1003 = PREPL_INFO_1003;
function NetReplGetInfo(servername: LPCWSTR; level: DWORD; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplGetInfo}
function NetReplSetInfo(servername: LPCWSTR; level: DWORD; buf: LPBYTE ; parm_err: LPDWORD): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplSetInfo}
//
// Replicator Export Directory APIs
//
const
REPL_INTEGRITY_FILE = 1;
{$EXTERNALSYM REPL_INTEGRITY_FILE}
REPL_INTEGRITY_TREE = 2;
{$EXTERNALSYM REPL_INTEGRITY_TREE}
REPL_EXTENT_FILE = 1;
{$EXTERNALSYM REPL_EXTENT_FILE}
REPL_EXTENT_TREE = 2;
{$EXTERNALSYM REPL_EXTENT_TREE}
REPL_EXPORT_INTEGRITY_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + 0);
{$EXTERNALSYM REPL_EXPORT_INTEGRITY_INFOLEVEL}
REPL_EXPORT_EXTENT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + 1);
{$EXTERNALSYM REPL_EXPORT_EXTENT_INFOLEVEL}
type
_REPL_EDIR_INFO_0 = record
rped0_dirname: LPWSTR;
end;
{$EXTERNALSYM _REPL_EDIR_INFO_0}
REPL_EDIR_INFO_0 = _REPL_EDIR_INFO_0;
{$EXTERNALSYM REPL_EDIR_INFO_0}
LPREPL_EDIR_INFO_0 = ^REPL_EDIR_INFO_0;
{$EXTERNALSYM LPREPL_EDIR_INFO_0}
PREPL_EDIR_INFO_0 = ^REPL_EDIR_INFO_0;
{$EXTERNALSYM PREPL_EDIR_INFO_0}
TReplEdirInfo0 = REPL_EDIR_INFO_0;
PReplEdirInfo0 = PREPL_EDIR_INFO_0;
_REPL_EDIR_INFO_1 = record
rped1_dirname: LPWSTR;
rped1_integrity: DWORD;
rped1_extent: DWORD;
end;
{$EXTERNALSYM _REPL_EDIR_INFO_1}
REPL_EDIR_INFO_1 = _REPL_EDIR_INFO_1;
{$EXTERNALSYM REPL_EDIR_INFO_1}
LPREPL_EDIR_INFO_1 = ^REPL_EDIR_INFO_1;
{$EXTERNALSYM LPREPL_EDIR_INFO_1}
PREPL_EDIR_INFO_1 = ^REPL_EDIR_INFO_1;
{$EXTERNALSYM PREPL_EDIR_INFO_1}
TReplEdirInfo1 = REPL_EDIR_INFO_1;
PReplEdirInfo1 = PREPL_EDIR_INFO_1;
_REPL_EDIR_INFO_2 = record
rped2_dirname: LPWSTR;
rped2_integrity: DWORD;
rped2_extent: DWORD;
rped2_lockcount: DWORD;
rped2_locktime: DWORD;
end;
{$EXTERNALSYM _REPL_EDIR_INFO_2}
REPL_EDIR_INFO_2 = _REPL_EDIR_INFO_2;
{$EXTERNALSYM REPL_EDIR_INFO_2}
LPREPL_EDIR_INFO_2 = ^REPL_EDIR_INFO_2;
{$EXTERNALSYM LPREPL_EDIR_INFO_2}
PREPL_EDIR_INFO_2 = ^REPL_EDIR_INFO_2;
{$EXTERNALSYM PREPL_EDIR_INFO_2}
TReplEdirInfo2 = REPL_EDIR_INFO_2;
PReplEdirInfo2 = PREPL_EDIR_INFO_2;
_REPL_EDIR_INFO_1000 = record
rped1000_integrity: DWORD;
end;
{$EXTERNALSYM _REPL_EDIR_INFO_1000}
REPL_EDIR_INFO_1000 = _REPL_EDIR_INFO_1000;
{$EXTERNALSYM REPL_EDIR_INFO_1000}
LPREPL_EDIR_INFO_1000 = ^REPL_EDIR_INFO_1000;
{$EXTERNALSYM LPREPL_EDIR_INFO_1000}
PREPL_EDIR_INFO_1000 = ^REPL_EDIR_INFO_1000;
{$EXTERNALSYM PREPL_EDIR_INFO_1000}
TReplEdirInfo1000 = REPL_EDIR_INFO_1000;
PReplEdirInfo1000 = PREPL_EDIR_INFO_1000;
_REPL_EDIR_INFO_1001 = record
rped1001_extent: DWORD;
end;
{$EXTERNALSYM _REPL_EDIR_INFO_1001}
REPL_EDIR_INFO_1001 = _REPL_EDIR_INFO_1001;
{$EXTERNALSYM REPL_EDIR_INFO_1001}
LPREPL_EDIR_INFO_1001 = ^REPL_EDIR_INFO_1001;
{$EXTERNALSYM LPREPL_EDIR_INFO_1001}
PREPL_EDIR_INFO_1001 = ^REPL_EDIR_INFO_1001;
{$EXTERNALSYM PREPL_EDIR_INFO_1001}
TReplEdirInfo1001 = REPL_EDIR_INFO_1001;
PReplEdirInfo1001 = PREPL_EDIR_INFO_1001;
function NetReplExportDirAdd(servername: LPCWSTR; level: DWORD; buf: LPBYTE ; parm_err: LPDWORD): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplExportDirAdd}
function NetReplExportDirDel(servername: LPCWSTR; dirname: LPCWSTR): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplExportDirDel}
function NetReplExportDirEnum(servername: LPCWSTR; level: DWORD; var bufptr: LPBYTE; prefmaxlen: DWORD; entriesread, totalentries, resumehandle: LPDWORD): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplExportDirEnum}
function NetReplExportDirGetInfo(servername, dirname: LPCWSTR; level: DWORD; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplExportDirGetInfo}
function NetReplExportDirSetInfo(servername, dirname: LPCWSTR; level: DWORD; buf: LPBYTE; parm_err: LPDWORD): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplExportDirSetInfo}
function NetReplExportDirLock(servername: LPCWSTR; dirname: LPCWSTR): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplExportDirLock}
function NetReplExportDirUnlock(servername: LPCWSTR; dirname: LPCWSTR; unlockforce: DWORD): NET_API_STATUS; stdcall;
{$EXTERNALSYM NetReplExportDirUnlock}
const
REPL_UNLOCK_NOFORCE = 0;
{$EXTERNALSYM REPL_UNLOCK_NOFORCE}
REPL_UNLOCK_FORCE = 1;
{$EXTERNALSYM REPL_UNLOCK_FORCE}
//
// Replicator Import Directory APIs
//
type
_REPL_IDIR_INFO_0 = record
rpid0_dirname: LPWSTR;
end;
{$EXTERNALSYM _REPL_IDIR_INFO_0}
REPL_IDIR_INFO_0 = _REPL_IDIR_INFO_0;
{$EXTERNALSYM REPL_IDIR_INFO_0}
LPREPL_IDIR_INFO_0 = ^REPL_IDIR_INFO_0;
{$EXTERNALSYM LPREPL_IDIR_INFO_0}
PREPL_IDIR_INFO_0 = ^REPL_IDIR_INFO_0;
{$EXTERNALSYM PREPL_IDIR_INFO_0}
TReplIdirInfo0 = REPL_IDIR_INFO_0;
PReplIdirInfo0 = PREPL_IDIR_INFO_0;
_REPL_IDIR_INFO_1 = record
rpid1_dirname: LPWSTR;
rpid1_state: DWORD;
rpid1_mastername: LPWSTR;
rpid1_last_update_time: DWORD;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -