1
{******************************************************************************}
3
{ Lan Manager Config API interface Unit for Object Pascal }
5
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
6
{ Corporation. All Rights Reserved. }
8
{ The original file is: lmconfig.h, released November 2001. The original Pascal}
9
{ code is: LmConfig.pas, released Februari 2002. The initial developer of the }
10
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
12
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
13
{ Marcel van Brakel. All Rights Reserved. }
15
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
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 }
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 }
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. }
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. }
39
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
41
{******************************************************************************}
43
// $Id: JwaLmConfig.pas,v 1.11 2005/09/07 09:54:54 marquardt Exp $
45
{$IFNDEF JWA_INCLUDEMODE}
56
JwaWindows, JwaLmCons;
58
{$ENDIF !JWA_INCLUDEMODE}
60
{$IFDEF JWA_INTERFACESECTION}
63
{$HPPEMIT '#include "lmconfig.h"'}
66
{$DEFINE LM_REVISED_CONFIG_APIS}
69
// Function Prototypes - Config
72
{$IFDEF LM_REVISED_CONFIG_APIS}
74
function NetConfigGet(server, component, parameter: LPCWSTR; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
75
{$EXTERNALSYM NetConfigGet}
77
function NetConfigGetAll(server, component: LPCWSTR; var bufptr: LPBYTE): NET_API_STATUS; stdcall;
78
{$EXTERNALSYM NetConfigGetAll}
82
function NetConfigGet(server, component, parameter: LPCWSTR; var bufptr: LPBYTE; totalavailable: LPDWORD): NET_API_STATUS; stdcall;
83
{$EXTERNALSYM NetConfigGet}
85
function NetConfigGetAll(server, component: LPCWSTR; var bufptr: LPBYTE; totalavailable: LPDWORD): NET_API_STATUS; stdcall;
86
{$EXTERNALSYM NetConfigGetAll}
88
{$ENDIF LM_REVISED_CONFIG_APIS}
90
function NetConfigSet(server, reserved1, component: LPCWSTR; level, reserved2: DWORD; buf: LPBYTE; reserved3: DWORD): NET_API_STATUS; stdcall;
91
{$EXTERNALSYM NetConfigSet}
93
function NetRegisterDomainNameChangeNotification(NotificationEventHandle: PHANDLE): NET_API_STATUS; stdcall;
94
{$EXTERNALSYM NetRegisterDomainNameChangeNotification}
96
function NetUnregisterDomainNameChangeNotification(NotificationEventHandle: HANDLE): NET_API_STATUS; stdcall;
97
{$EXTERNALSYM NetUnregisterDomainNameChangeNotification}
100
// Data Structures - Config
104
_CONFIG_INFO_0 = record
108
{$EXTERNALSYM _CONFIG_INFO_0}
109
CONFIG_INFO_0 = _CONFIG_INFO_0;
110
{$EXTERNALSYM CONFIG_INFO_0}
111
PCONFIG_INFO_0 = ^CONFIG_INFO_0;
112
{$EXTERNALSYM PCONFIG_INFO_0}
113
LPCONFIG_INFO_0 = ^CONFIG_INFO_0;
114
{$EXTERNALSYM LPCONFIG_INFO_0}
115
TConfigInfo0 = CONFIG_INFO_0;
116
PConfigInfo0 = PCONFIG_INFO_0;
118
{$ENDIF JWA_INTERFACESECTION}
120
{$IFNDEF JWA_INCLUDEMODE}
127
{$ENDIF !JWA_INCLUDEMODE}
129
{$IFDEF JWA_IMPLEMENTATIONSECTION}
131
{$IFDEF DYNAMIC_LINK}
134
_NetConfigGet: Pointer;
136
function NetConfigGet;
138
GetProcedureAddress(_NetConfigGet, netapi32, 'NetConfigGet');
147
_NetConfigGetAll: Pointer;
149
function NetConfigGetAll;
151
GetProcedureAddress(_NetConfigGetAll, netapi32, 'NetConfigGetAll');
155
JMP [_NetConfigGetAll]
160
_NetConfigSet: Pointer;
162
function NetConfigSet;
164
GetProcedureAddress(_NetConfigSet, netapi32, 'NetConfigSet');
173
_NetRegisterDomainNameChangeNotification: Pointer;
175
function NetRegisterDomainNameChangeNotification;
177
GetProcedureAddress(_NetRegisterDomainNameChangeNotification, netapi32, 'NetRegisterDomainNameChangeNotification');
181
JMP [_NetRegisterDomainNameChangeNotification]
186
_NetUnregisterDomainNameChangeNotification: Pointer;
188
function NetUnregisterDomainNameChangeNotification;
190
GetProcedureAddress(_NetUnregisterDomainNameChangeNotification, netapi32, 'NetUnregisterDomainNameChangeNotification');
194
JMP [_NetUnregisterDomainNameChangeNotification]
200
function NetConfigGet; external netapi32 name 'NetConfigGet';
201
function NetConfigGetAll; external netapi32 name 'NetConfigGetAll';
202
function NetConfigSet; external netapi32 name 'NetConfigSet';
203
function NetRegisterDomainNameChangeNotification; external netapi32 name 'NetRegisterDomainNameChangeNotification';
204
function NetUnregisterDomainNameChangeNotification; external netapi32 name 'NetUnregisterDomainNameChangeNotification';
206
{$ENDIF DYNAMIC_LINK}
208
{$ENDIF JWA_IMPLEMENTATIONSECTION}
210
{$IFNDEF JWA_INCLUDEMODE}
212
{$ENDIF !JWA_INCLUDEMODE}