~ubuntu-branches/ubuntu/lucid/fpc/lucid-proposed

« back to all changes in this revision

Viewing changes to fpcsrc/packages/winunits-jedi/src/jwawindows.pas

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-10-09 23:29:00 UTC
  • mfrom: (4.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20081009232900-553f61m37jkp6upv
Tags: 2.2.2-4
[ Torsten Werner ]
* Update ABI version in fpc-depends automatically.
* Remove empty directories from binary package fpc-source.

[ Mazen Neifer ]
* Removed leading path when calling update-alternatives to remove a Linitian
  error.
* Fixed clean target.
* Improved description of packages. (Closes: #498882)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{******************************************************************************}
 
2
{                                                                              }
 
3
{ Windows API interface Unit for Object Pascal                                 }
 
4
{ Master file for Windows applications                                         }
 
5
{                                                                              }
 
6
{ Portions created by Microsoft are Copyright (C) Microsoft Corporation.       }
 
7
{  All Rights Reserved.                                                        }
 
8
{                                                                              }
 
9
{ The original Pascal code is: JwaWindows.pas, released September 2005.        }
 
10
{ The initial developer of the Pascal code is                                  }
 
11
{ Robert Marquardt (robert_marquardt att gmx dott de).                         }
 
12
{                                                                              }
 
13
{ Portions created by Robert Marquardt are Copyright (C) 2005                  }
 
14
{ Robert Marquardt. All Rights Reserved.                                       }
 
15
{                                                                              }
 
16
{ Portions created by Christian Wimmer are Copyright (C) 2007                  }
 
17
{ Christian Wimmer. All Rights Reserved.                                       }
 
18
{                                                                              }
 
19
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
 
20
{                                                                              }
 
21
{ You may retrieve the latest version of this file at the Project JEDI         }
 
22
{ APILIB home page, located at http://jedi-apilib.sourceforge.net              }
 
23
{                                                                              }
 
24
{ The contents of this file are used with permission, subject to the Mozilla   }
 
25
{ Public License Version 1.1 (the "License"); you may not use this file except }
 
26
{ in compliance with the License. You may obtain a copy of the License at      }
 
27
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
 
28
{                                                                              }
 
29
{ Software distributed under the License is distributed on an "AS IS" basis,   }
 
30
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
 
31
{ the specific language governing rights and limitations under the License.    }
 
32
{                                                                              }
 
33
{ Alternatively, the contents of this file may be used under the terms of the  }
 
34
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
 
35
{ provisions of the LGPL License are applicable instead of those above.        }
 
36
{ If you wish to allow use of your version of this file only under the terms   }
 
37
{ of the LGPL License and not to allow others to use your version of this file }
 
38
{ under the MPL, indicate your decision by deleting  the provisions above and  }
 
39
{ replace  them with the notice and other provisions required by the LGPL      }
 
40
{ License.  If you do not delete the provisions above, a recipient may use     }
 
41
{ your version of this file under either the MPL or the LGPL License.          }
 
42
{                                                                              }
 
43
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
 
44
{                                                                              }
 
45
{******************************************************************************}
 
46
{ Description: JwaWindows.pas has the goal to bring all windows conversion     }
 
47
{   units into one big unit. There is no need to include many units. Only one  }
 
48
{   unit - just this - one is needed. The resulted binary file will enlarge    }
 
49
{   about 100-300kb. This depends which parts are used. However it is also     }
 
50
{   possible to use all header units without this one. But you should not use  }
 
51
{   both versions at the same time. Delphi will fail on some cases because     }
 
52
{   types and so other things from two different units are completly different.}
 
53
{   You also have the possibility to remove some headers from the file by using}
 
54
{   compiler defines. For more information about that see the define comments  }
 
55
{   in the source.                                                             }
 
56
{ HowTo: You can compile this file by creating a new package and just put this }
 
57
{   unit into it. You also have to include the "Common" path in search path    }
 
58
{   options. If you use the default tree folder structure just use "..\Common".}
 
59
{   You should also define output paths (e.g. "output7" for D7)                }
 
60
{                                                                              }
 
61
{   You can define compiler defines to change the compilation.                 }
 
62
{   Change the compiler defines in this source code or use the compiler        }
 
63
{   condition option in the package.                                           }
 
64
{   To use dynamic linked function use this:                                   }
 
65
{     PACKAGE_CONDITIONS;DYNAMIC_LINK;JWA_INCLUDE_SETUP_API                    }
 
66
{   For static linking just remove DYNAMIC_LINK .                              }
 
67
{   You can also define debug definitions and so on.                           }
 
68
{                                                                              }
 
69
{ Warning: Compiling this unit needs a little bit more time than a delphi      }
 
70
{   programmer is used to. Therefore we recommend that you create a standalone }
 
71
{   JwaWindows.dcu file to use in projects and remove every search path to     }
 
72
{   the source codes except for debugger search path (so you can browse the    }
 
73
{   sources in the Delphi IDE). You can also create dynamic and static linked  }
 
74
{   JwaWindows.dcu seperatly and just change the search path. There can also   }
 
75
{   be a debug and a much smaller release version of the file.                 }
 
76
{   In conclusion there can be 4 JwaWindows.dcu versions:                      }
 
77
{    JwaWindows.dcu                                                            }
 
78
{       |- Static linked Debug version                                         }
 
79
{       |- Static linked Release version                                       }
 
80
{       |- Dynamic linked Debug version                                        }
 
81
{       |- Dynamic linked Release version                                      }
 
82
{   Be aware that dcu files are incompatible between delphi versions!          }
 
83
{                                                                              }
 
84
{ Hints: If you get an error in a file you don't know or need you can remove   }
 
85
{   it from the include list in this code. You must do this twice: The first   }
 
86
{   is an interface include the second one is an implementation include.       }
 
87
{   It is very likely that this unit is needed by another one behind the       }
 
88
{   excluded one. In this case you must also exclude the other one.            }
 
89
{   Units at the beginning are mostly highly necessary for others. This        }
 
90
{   includes the first ten units. Errors in them won't probably be fixed easily}
 
91
{                                                                              }
 
92
{******************************************************************************}
 
93
 
 
94
// $Id: JwaWindows.pas,v 1.20 2007/10/19 19:54:18 dezipaitor Exp $
 
95
 
 
96
unit JwaWindows;
 
97
{
 
98
The following defines can be changed to remove headers from JwaWindows.
 
99
PACKAGE_CONDITIONS can be set in the options of a project
 
100
to disable these source code compiler defines and use
 
101
the one of the project.
 
102
}
 
103
 
 
104
{$IFNDEF PACKAGE_CONDITIONS}
 
105
 
 
106
  {$DEFINE DYNAMIC_LINK}  //link most of functions dynamically ?
 
107
 
 
108
  {$DEFINE JWA_INCLUDE_SETUP_API} //include setup api ?
 
109
 
 
110
  {.$DEFINE JWA_WINSOCK_1} //use winsock.pas instead of winsock2.pas ?
 
111
 
 
112
  {-$DEFINE NOVCL}
 
113
 
 
114
  {The following directive includes the file jwaAdsTlb.pas
 
115
   This unit needs the units OleServer, OleCtrls which do install
 
116
   a windows handle in newer delphi versions.
 
117
   This handle prevents SetThreadDesktop to work on the main thread. It
 
118
   works on a new thread!
 
119
 
 
120
   ActiveX and COM is not supported by this lib on Freepascal yet!
 
121
  }
 
122
  {$DEFINE JWA_INCLUDE_JWAADSTLB}
 
123
 
 
124
  {$IFDEF FPC}
 
125
    {$UNDEF JWA_INCLUDE_JWAADSTLB}
 
126
    {$UNDEF JWA_INCLUDE_SETUP_API}
 
127
  {$ENDIF FPC}
 
128
{$ENDIF PACKAGE_CONDITIONS}
 
129
 
 
130
 
 
131
 
 
132
{------ end of your business ------}
 
133
 
 
134
 
 
135
 
 
136
{Exclude some units that are not compilabe under FPC
 
137
  JwaSensEvts.pas - not supported
 
138
  JwaWinFax.pas - partially fixed
 
139
  JwaFaxDev.pas depends on jwaWinFax
 
140
  JwaFaxExt.pas depends on jwaWinFax
 
141
  JwaFaxMmc.pas depends on jwaWinFax
 
142
  JwaFaxRoute.pas depends on jwaWinFax
 
143
}
 
144
{$IFDEF FPC}
 
145
  {$DEFINE EXCLUDE_FPC}
 
146
{$ENDIF FPC}
 
147
 
 
148
 
 
149
{$WEAKPACKAGEUNIT}
 
150
 
 
151
{The following defines should not be changed!}
 
152
{$DEFINE JWAWINDOWS_PAS}   //include mode activated
 
153
{$DEFINE JWA_INCLUDEMODE}  //exclude duplicate things - do not remove!
 
154
 
 
155
 
 
156
{$IFDEF DYNAMIC_LINK}
 
157
{$DEFINE RTDL} //native api dynamic link compiler define
 
158
{$ENDIF DYNAMIC_LINK}
 
159
 
 
160
//exclude VCL from freepascal
 
161
{$IFDEF FPC}
 
162
  {$DEFINE NOVCL}
 
163
{$ENDIF FPC}
 
164
 
 
165
 
 
166
//extra compiler options
 
167
{$I jedi.inc}
 
168
{$I jediapilib.inc} // paths here break FPC dir structure.
 
169
 
 
170
 
 
171
 
 
172
interface
 
173
 
 
174
 
 
175
uses
 
176
{$IFDEF USE_DELPHI_TYPES}
 
177
  Windows,
 
178
{$IFDEF HAS_UNIT_DATEUTILS}
 
179
   DateUtils, //used by JwaWinSta.pas
 
180
{$ENDIF}
 
181
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
182
{The following units may not be included because of problems}
 
183
 
 
184
//OleUnits creates window handles that prevents SetThreadDesktop to work
 
185
  OleServer, //[warning] requires D5 or higher - required by jwaAdsTLB.pas
 
186
  OleCtrls,
 
187
//JwaAdsTlb.pas and JwaDde.pas use these units and is therfore excluded
 
188
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
189
  
 
190
  {$ENDIF USE_DELPHI_TYPES}
 
191
  SysUtils, // TODO
 
192
 
 
193
{$IFDEF JWA_INCLUDE_SETUP_API}
 
194
  CommCtrl, //used by SetupAPI.pas
 
195
{$ENDIF JWA_INCLUDE_SETUP_API}
 
196
 
 
197
  ActiveX, Classes, ComObj 
 
198
{$IFNDEF NOVCL}
 
199
  ,Graphics,
 
200
  StdVCL
 
201
{$ENDIF}
 
202
  ;
 
203
 
 
204
 
 
205
 
 
206
{$IFNDEF COMPILER6_UP}
 
207
  {$ifndef FPC}
 
208
    type PCardinal = ^Cardinal;
 
209
  {$ELSE}
 
210
    {$ALIGN 4}
 
211
  {$ENDIF}
 
212
{$ELSE}
 
213
{$ALIGN 4}
 
214
{$ENDIF}
 
215
 
 
216
(* To include a new converted header file
 
217
   you must use this structure:
 
218
 
 
219
  {$IFNDEF JWA_OMIT_SECTIONS}
 
220
  unit XXXX;
 
221
  interface
 
222
  uses ...;
 
223
 
 
224
  {$ENDIF JWA_OMIT_SECTIONS}
 
225
 
 
226
{$IFNDEF JWA_IMPLEMENTATIONSECTION}
 
227
your interface declarations here
 
228
{$ENDIF JWA_IMPLEMENTATIONSECTION}
 
229
 
 
230
//!!!
 
231
//do no cross JWA_IMPLEMENTATIONSECTION or JWA_INTERFACESECTION with JWA_OMIT_SECTIONS here!
 
232
  {$IFNDEF JWA_OMIT_SECTIONS}
 
233
  implementation
 
234
  uses ...
 
235
  {$ENDIF JWA_OMIT_SECTIONS}
 
236
//!!!
 
237
//do no cross JWA_IMPLEMENTATIONSECTION or JWA_INTERFACESECTION with JWA_OMIT_SECTIONS here!
 
238
 
 
239
{$IFNDEF JWA_INTERFACESECTION}
 
240
your implementation here
 
241
{$ENDIF JWA_INTERFACESECTION}
 
242
 
 
243
{$IFNDEF JWA_OMIT_SECTIONS}
 
244
end.
 
245
{$ENDIF JWA_OMIT_SECTIONS}
 
246
 
 
247
*)                         
 
248
 
 
249
{$DEFINE JWA_OMIT_SECTIONS}
 
250
{$DEFINE JWA_INTERFACESECTION}
 
251
 
 
252
{The following constant are version and compiler control instruments to be used
 
253
in source code.
 
254
}
 
255
const
 
256
  //include mode active?
 
257
  JWA_CONST_INCLUDEMODE = {$IFDEF JWA_INCLUDEMODE} True; {$ELSE} False; {$ENDIF}
 
258
  {dynamic linking active? Warning: Not all function will be linked dynamically.
 
259
   Some functions cannot be linked dynamically because of their
 
260
  }
 
261
  JWA_CONST_DYNAMICLINK = {$IFDEF DYNAMIC_LINK} True; {$ELSE} False; {$ENDIF}
 
262
  {Like JWA_CONST_DYNAMICLINK but for native win api.}
 
263
  JWA_CONST_RDTL        = {$IFDEF RTDL} True; {$ELSE} False; {$ENDIF}
 
264
  {Use delphi types instead of our own.}
 
265
  JWA_CONST_USE_DELPHI_TYPES  = {$IFDEF USE_DELPHI_TYPES} True; {$ELSE} False; {$ENDIF}
 
266
  {Setup api headers included?}
 
267
  JWA_CONST_INCLUDE_SETUP_API = {$IFDEF JWA_INCLUDE_SETUP_API} True; {$ELSE} False; {$ENDIF}
 
268
  {Version of this header. Its not a CVS, SVN or compile version}
 
269
  JWA_CONST_VERSION = '1.5';
 
270
 
 
271
 
 
272
 
 
273
{Beginning of interface section.
 
274
These files must be in a correct order!
 
275
These files are included a second time in the implementation section!
 
276
}
 
277
 
 
278
{$I JwaWinDLLNames.pas}
 
279
{$I JwaWinType.pas}
 
280
{$I JwaNtStatus.pas}
 
281
{$I JwaWinNT.pas}
 
282
{$I JwaWinBase.pas}
 
283
{$I JwaWinGDI.pas}
 
284
{$I JwaWinUser.pas}
 
285
{-$I JwaDde.pas} //do not include - see uses remarks
 
286
{$I JwaWinVer.pas}
 
287
{$I JwaWinError.pas}
 
288
{$I JwaExcpt.pas}
 
289
{$I JwaWinNLS.pas}
 
290
{$I JwaWinCon.pas}
 
291
{$I JwaReason.pas}
 
292
{$I JwaWinReg.pas}
 
293
{$I JwaWinNetWk.pas}
 
294
{$I JwaCdErr.pas}
 
295
{ I JwaDDEml.pas} // TODO convert
 
296
{$I JwaDlgs.pas}
 
297
{ I JwaMMSystem.pas} // TODO convert
 
298
{$I JwaNb30.pas}
 
299
{ I JwaShellAPI.pas} // TODO convert
 
300
{$I JwaWinPerf.pas}
 
301
{$I JwaQos.pas}
 
302
{$I JwaQosSp.pas}
 
303
 
 
304
{.$IFNDEF JWA_INCLUDE_JWAADSTLB}
 
305
type UUID = GUID;
 
306
{.$ENDIF JWA_INCLUDE_JWAADSTLB}
 
307
 
 
308
{$I JwaNative.pas}
 
309
{The following files cannot be included because of unfixed errors and problems.
 
310
The list has no order!}
 
311
//no members
 
312
 
 
313
{******** WINSOCK *******************}
 
314
 
 
315
{$IFDEF JWA_WINSOCK_1}
 
316
  {$I JwaWinSock.pas}
 
317
{$ELSE}
 
318
  {$DEFINE JWA_WINSOCK_2}
 
319
  {$I JwaWinSock2.pas}
 
320
  {$I JwaWS2tcpip.pas}
 
321
  {$I JwaWS2atm.pas}
 
322
  {$I JwaWinDNS.pas}
 
323
  {$I JwaNspAPI.pas}
 
324
  {$I JwaWS2dnet.pas}
 
325
  {$I JwaWS2spi.pas}
 
326
  {$I JwaWSnetbs.pas}
 
327
  {$I JwaWSNwLink.pas}
 
328
  {$I JwaWSvns.pas}
 
329
  {$I JwaAF_Irda.pas}
 
330
  {$I JwaAtalkWsh.pas}
 
331
  {$I JwaWShisotp.pas}
 
332
  {$I JwaMSWSock.pas}
 
333
  {$I JwaQosPol.pas}
 
334
  {$I JwaMSTcpIP.pas}
 
335
  {$I JwaQosName.pas}
 
336
  {$I JwaIpExport.pas}
 
337
  {$I JwaIpRtrMib.pas}
 
338
  {$I JwaIpTypes.pas}
 
339
  {$I JwaIpHlpApi.pas}
 
340
  {$I JwaIcmpApi.pas}
 
341
{$ENDIF JWA_WINSOCK_1}
 
342
 
 
343
 
 
344
{******** various headers that must be included before rest *********}
 
345
 
 
346
{$I JwaLpmApi.pas}
 
347
{$I JwaWinCrypt.pas}
 
348
{$I JwaRpc.pas}
 
349
{$I JwaWinEFS.pas}
 
350
{ I JwaWinScard.pas} // TODO convert
 
351
{ I JwaWinSpool.pas} // TODO convert
 
352
{ I JwaOle2.pas} // TODO convert
 
353
{ I JwaCommDlg.pas} // TODO convert
 
354
{ I JwaStrAlign.pas} // TODO convert
 
355
{$I JwaWinSvc.pas}
 
356
{ I JwaMCX.pas} // TODO convert
 
357
{ I JwaIMM.pas} // TODO convert
 
358
{$I JwaAccCtrl.pas}
 
359
{$I JwaAclApi.pas}
 
360
{$I JwaSddl.pas}
 
361
{$I JwaLmErr}
 
362
{$I JwaLmCons}
 
363
{$I JwaNtSecApi}
 
364
{$I JwaWinCred.pas}
 
365
{$I JwaWtsApi32.pas}
 
366
{$I JwaWinIoctl.pas}
 
367
{$I JwaWowNT32.pas}
 
368
{$I JwaSubAuth.pas}
 
369
{$I JwaSecurity.pas}
 
370
{$I JwaAclUI.pas}
 
371
{$I JwaImageHlp.pas}
 
372
 
 
373
{******** Ads TLB ************}
 
374
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
375
 {$DEFINE NOVCL}
 
376
  {$I JwaAdsTLB.pas}
 
377
 {$UNDEF NOVCL}
 
378
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
379
 
 
380
 {$I JwaActiveX.pas}
 
381
 {$I JwaPrSht.pas}
 
382
 
 
383
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
384
 {$I JwaActiveDS.pas}
 
385
 {$I JwaDSClient.pas}
 
386
 {$I JwaDSAdmin.pas}
 
387
 {$I JwaAdsProp.pas}
 
388
 {$I JwaAdsHlp.pas}
 
389
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
390
 
 
391
{$I JwaZMOUSE.pas}
 
392
{$I JwaUxTheme.pas}
 
393
{$I JwaWinCpl.pas}
 
394
{$I JwaWinLDAP.pas}
 
395
{$I JwaSvcGuid.pas}
 
396
{$I JwaSecExt.pas}
 
397
 
 
398
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
399
{$I JwaSspi.pas}
 
400
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
401
 
 
402
{******** LAN Manager **********}
 
403
{do not include JwaLM.pas!}
 
404
 
 
405
{$DEFINE JWA_OMIT_SECTIONS_LM} //define special LM section omitting
 
406
 {$I JwaLmAccess.pas}   // Access, Domain, Group and User classes
 
407
 {$I JwaLmAlert.pas}    // Alerter
 
408
 {$I JwaLmShare.pas}    // Connection, File, Session and Share classes
 
409
 {$I JwaLmMsg.pas}      // Message class
 
410
 {$I JwaLmRemUtl.pas}   // Remote Utility class
 
411
 {$I JwaLmRepl.pas}     // Replicator class
 
412
 {$I JwaLmServer.pas}   // Server class
 
413
 {$I JwaLmSvc.pas}      // Service class
 
414
 {$I JwaLmUse.pas}      // Use class
 
415
 {$I JwaLmWkSta.pas}    // Workstation class
 
416
 {$I JwaLmApiBuf.pas}   // NetApiBuffer class
 
417
 {$I JwaLmErrLog.pas}   // NetErrorLog class
 
418
 {$I JwaLmConfig.pas}   // NetConfig class
 
419
 {$I JwaLmStats.pas}    // NetStats class
 
420
 {$I JwaLmAudit.pas}    // NetAudit class
 
421
 {$I JwaLmJoin.pas}     // NetJoinDomain class
 
422
 {$I JwaLmUseFlg.pas}
 
423
 {$I JwaLmAt.pas}
 
424
 {$I JwaLmDFS.pas}
 
425
 {$I JwaLmSName.pas}
 
426
 
 
427
{******** the rest **********}
 
428
 
 
429
{$I JwaNetSh.pas}
 
430
{$I JwaNtDdPar.pas}
 
431
{$I JwaSchedule.pas}
 
432
 
 
433
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
434
{$I JwaNtQuery.pas}
 
435
{$I JwaRpcDce.pas}
 
436
{$I JwaNtDsApi.pas}
 
437
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
438
 
 
439
{$I JwaNtDsbCli.pas}
 
440
{$I JwaNtDsBMsg.pas}
 
441
{$I JwaNtLDAP.pas}
 
442
{$I JwaPsApi.pas}
 
443
{$I JwaBitsMsg.pas}
 
444
{$I JwaBits.pas}
 
445
{$I JwaErrorRep.pas}
 
446
{$I JWaBthSdpDef.pas}
 
447
{$I JwaBluetoothAPIs.pas}
 
448
{$I JwaBtHDef.pas}
 
449
  {$I JwaWs2Bth.pas} //depends JwaBtHDef.pas
 
450
{$I JwaCryptUIApi.pas}
 
451
{$I JwaCpl.pas}
 
452
{$I JwaCplext.pas}
 
453
{$I JwaColorDlg.pas}
 
454
{$I JwaIisCnfg.pas}
 
455
{$I JwaIAdmExt.pas}
 
456
{$I JwaMsi.pas}
 
457
{$I JwaMsiDefs.pas}
 
458
{$I JwaMsiQuery.pas}
 
459
{$I JwaDSGetDC.pas}
 
460
{$I JwaDskQuota.pas}
 
461
{$I JwaCmnQuery.pas}
 
462
{$I JwaDSQuery.pas}
 
463
{$I JwaDSRole.pas}
 
464
{$I JwaDsSec.pas}
 
465
{$I JwaDbt.pas}
 
466
{$I JwaDhcpCSDK.pas}
 
467
{$I JwaDhcpSSDK.pas}
 
468
{$I JwaDhcpsApi.pas}
 
469
{$I JwaWSipx.pas}
 
470
{$I JwaWsrm.pas}
 
471
{$I JwaWPTypes.pas}
 
472
{$I JwaWPWizMsg.pas}
 
473
{$I JwaHtmlGuid.pas}
 
474
{$I JwaHtmlHelp.pas}
 
475
{$I JwaHhError.pas}
 
476
{$I JwaRegStr.pas}
 
477
{$I JwaPdh.pas}
 
478
{$I JwaProfInfo.pas}
 
479
{$I JwaWbemCli.pas}
 
480
{$I JwaUserEnv.pas}
 
481
{$I JwaWPApiMsg.pas}
 
482
{$I JwaWPApi.pas}
 
483
{$I JwaWPSpiHlp.pas}
 
484
{$I JwaWPPstMsg.pas}
 
485
{$I JwaWPFtpMsg.pas}
 
486
{$I JwaWPCrsMsg.pas}
 
487
{$I JwaAdtGen.pas}
 
488
{$I JwaAdssts.pas}
 
489
{$I JwaAdsnms.pas}
 
490
{$I JwaAdsErr.pas}
 
491
{$I JwaAdsDb.pas}
 
492
{$I JwaAuthz.pas}
 
493
{$I JwaAuthif.pas}
 
494
{$I JwaWinAble.pas}
 
495
{$I JwaWinBer.pas}
 
496
{.$IFNDEF EXCLUDE_FPC}
 
497
  {$I JwaWinFax.pas}
 
498
{.$ENDIF EXCLUDE_FPC}
 
499
{$I JwaWinResrc.pas}
 
500
{$I JwaWinSafer.pas}
 
501
{$I JwaWinWlx.pas}
 
502
{$I JwaWmiStr.pas}
 
503
{$I JwaWowNT16.pas}
 
504
{$I JwaSens.pas}
 
505
{$I JwaSensAPI.pas}
 
506
{$IFNDEF FPC}
 
507
 {$I JwaSensEvts.pas}
 
508
{$ENDIF FPC}
 
509
{$I JwaSfc.pas}
 
510
{$I JwaShlGuid.pas}
 
511
{$I JwaSisBkUp.pas}
 
512
{$I JwaSisBkUp.pas}
 
513
{$I JwaSnmp.pas}
 
514
{$I JwaSpOrder.pas}
 
515
{$I JwaSrRestorePtApi.pas}
 
516
{$I JwaTlHelp32.pas}
 
517
{$I JwaTmSchema.pas}
 
518
{$I JwaTraffic.pas}
 
519
{$I JwaSceSvc.pas}
 
520
{$I JwaSchemaDef.pas}
 
521
{$I JwaObjSel.pas}
 
522
{$I JwaPatchApi.pas}
 
523
{$I JwaPatchWiz.pas}
 
524
{$I JwaPbt.pas}
 
525
{$I JwaPdhMsg.pas}
 
526
{$I JwaPowrProf.pas}
 
527
{$I JwaProtocol.pas}
 
528
 
 
529
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
530
{$I JwaRpcASync.pas}
 
531
{$I JwaRpcNsi.pas}
 
532
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
533
 
 
534
{$I JwaRpcNtErr.pas}
 
535
{$I JwaRpcSsl.pas}
 
536
{$I JwaMciAvi.pas}
 
537
{$I JwaMprError.pas}
 
538
{$I JwaMsTask.pas}
 
539
{$I JwaCardErr.pas}
 
540
{.$IFNDEF EXCLUDE_FPC}
 
541
  {$I JwaFaxDev.pas}
 
542
  {$I JwaFaxExt.pas}
 
543
  {$I JwaFaxMmc.pas}
 
544
  {$I JwaFaxRoute.pas}
 
545
{.$ENDIF EXCLUDE_FPC}
 
546
 
 
547
{$I JwaGPEdit.pas}
 
548
{$I JwaIAccess.pas}
 
549
{$I JwaImapi.pas}
 
550
{$I JwaImapiError.pas}
 
551
{$I JwaIme.pas}
 
552
{$I JwaBits1_5.pas}
 
553
{$I JwaIoEvent.pas}
 
554
{$I JwaIpIfCons.pas}
 
555
{$I JwaIpInfoId.pas}
 
556
{$I JwaIsGuids.pas}
 
557
{$I JwaIssPer16.pas}
 
558
{$I JwaLoadPerf.pas}
 
559
{$I JwaBatClass.pas}
 
560
{$I JwaBLBErr.pas}
 
561
{$I JwaBugCodes.pas}
 
562
 
 
563
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
564
{$I JwaBitscfg.pas}
 
565
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
566
 
 
567
 
 
568
 
 
569
{$DEFINE JWA_INCLUDEMODE}
 
570
{$IFDEF COMPILER6_UP}
 
571
 {$I JwaWinSta.pas}
 
572
{$ENDIF}
 
573
{$IFDEF FPC}
 
574
 {$I JwaWinSta.pas}
 
575
{$ENDIF}
 
576
 
 
577
{.$I JwaWinternl.pas}
 
578
 
 
579
{$I ModuleLoader.pas}
 
580
{$IFDEF JWA_INCLUDE_SETUP_API}
 
581
{$DEFINE SETUPAPI_LINKONREQUEST}
 
582
{If the compiler cannot find "SaCMAPI" its
 
583
because it should be "Setup and Config Manager API".
 
584
But the compiler cannot include files with spaces in it.
 
585
Simply hard link or copy the following files into the new folder.
 
586
}
 
587
{$I ..\SaCMAPI\SetupApi.pas}
 
588
{$I ..\SaCMAPI\Cfg.pas}
 
589
{$I ..\SaCMAPI\CfgMgr32.pas}
 
590
{$ENDIF JWA_INCLUDE_SETUP_API}
 
591
 
 
592
{$UNDEF JWA_INTERFACESECTION}
 
593
 
 
594
{$UNDEF JWA_OMIT_SECTIONS}
 
595
 
 
596
implementation
 
597
 
 
598
{$DEFINE JWA_OMIT_SECTIONS}
 
599
{$DEFINE JWA_IMPLEMENTATIONSECTION}
 
600
 
 
601
{Implementation section.
 
602
These files must be in a correct order!
 
603
}
 
604
 
 
605
{$I JwaWinDLLNames.pas}
 
606
{$I JwaWinType.pas}
 
607
{$I JwaNtStatus.pas}
 
608
{$I JwaWinNT.pas}
 
609
{$I JwaWinBase.pas}
 
610
{$I JwaWinGDI.pas}
 
611
{$I JwaWinUser.pas}
 
612
{-$I JwaDde.pas} //do not include - see uses remarks
 
613
{$I JwaWinVer.pas}
 
614
{$I JwaWinError.pas}
 
615
{$I JwaExcpt.pas}
 
616
{$I JwaWinNLS.pas}
 
617
{$I JwaWinCon.pas}
 
618
{$I JwaReason.pas}
 
619
{$I JwaWinReg.pas}
 
620
{$I JwaWinNetWk.pas}
 
621
{$I JwaCdErr.pas}
 
622
{ I JwaDDEml.pas} // TODO convert
 
623
{$I JwaDlgs.pas}
 
624
{ I JwaMMSystem.pas} // TODO convert
 
625
{$I JwaNb30.pas}
 
626
{ I JwaShellAPI.pas} // TODO convert
 
627
{$I JwaWinPerf.pas}
 
628
{$I JwaQos.pas}
 
629
{$I JwaQosSp.pas}
 
630
 
 
631
{$I JwaNative.pas}
 
632
 
 
633
{The following files cannot be included because of unfixed errors and problems.
 
634
The list has no order!}
 
635
//no members
 
636
 
 
637
 
 
638
{******** WINSOCK *******************}
 
639
 
 
640
{$IFDEF JWA_WINSOCK_1}
 
641
  {$I JwaWinSock.pas}
 
642
  {$ELSE}
 
643
  {$DEFINE JWA_WINSOCK_2}
 
644
  {$I JwaWinSock2.pas}
 
645
  {$I JwaWS2tcpip.pas}
 
646
  {$I JwaWS2atm.pas}
 
647
  {$I JwaWinDNS.pas}
 
648
  {$I JwaNspAPI.pas}
 
649
  {$I JwaWS2dnet.pas}
 
650
  {$I JwaWS2spi.pas}
 
651
  {$I JwaWSnetbs.pas}
 
652
  {$I JwaWSNwLink.pas}
 
653
  {$I JwaWSvns.pas}
 
654
  {$I JwaAF_Irda.pas}
 
655
  {$I JwaAtalkWsh.pas}
 
656
  {$I JwaWShisotp.pas}
 
657
  {$I JwaMSWSock.pas}
 
658
  {$I JwaQosPol.pas}
 
659
  {$I JwaMSTcpIP.pas}
 
660
  {$I JwaQosName.pas}
 
661
  {$I JwaIpExport.pas}
 
662
  {$I JwaIpRtrMib.pas}
 
663
  {$I JwaIpTypes.pas}
 
664
  {$I JwaIpHlpApi.pas}
 
665
  {$I JwaIcmpApi.pas}
 
666
{$ENDIF JWA_WINSOCK_1}
 
667
 
 
668
{******** various headers that must be included before rest *********}
 
669
 
 
670
{$I JwaLpmApi.pas}
 
671
{$I JwaWinCrypt.pas}
 
672
{$I JwaRpc.pas}
 
673
{$I JwaWinEFS.pas}
 
674
{ I JwaWinScard.pas} // TODO convert
 
675
{ I JwaWinSpool.pas} // TODO convert
 
676
{ I JwaOle2.pas} // TODO convert
 
677
{ I JwaCommDlg.pas} // TODO convert
 
678
{ I JwaStrAlign.pas} // TODO convert
 
679
{$I JwaWinSvc.pas}
 
680
{ I JwaMCX.pas} // TODO convert
 
681
{ I JwaIMM.pas} // TODO convert
 
682
{$I JwaAccCtrl.pas}
 
683
{$I JwaAclApi.pas}
 
684
{$I JwaSddl.pas}
 
685
{$I JwaLmErr}
 
686
{$I JwaLmCons}
 
687
{$I JwaNtSecApi}
 
688
{$I JwaWinCred.pas}
 
689
{$I JwaWtsApi32.pas}
 
690
{$I JwaWinIoctl.pas}
 
691
{$I JwaWowNT32.pas}
 
692
{$I JwaSubAuth.pas}
 
693
{$I JwaSecurity.pas}
 
694
{$I JwaAclUI.pas}
 
695
{$I JwaImageHlp.pas}
 
696
 
 
697
 
 
698
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
699
{******** Ads TLB ************}
 
700
{$DEFINE NOVCL}
 
701
 {$I JwaAdsTLB.pas}
 
702
{$UNDEF NOVCL}
 
703
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
704
 
 
705
{$I JwaActiveX.pas}
 
706
{$I JwaPrSht.pas}
 
707
 
 
708
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
709
{$I JwaActiveDS.pas}
 
710
{$I JwaDSClient.pas}
 
711
{$I JwaDSAdmin.pas}
 
712
{$I JwaAdsProp.pas}
 
713
{$I JwaAdsHlp.pas}
 
714
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
715
 
 
716
{$I JwaZMOUSE.pas}
 
717
{$I JwaUxTheme.pas}
 
718
{$I JwaWinCpl.pas}
 
719
{$I JwaWinLDAP.pas}
 
720
{$I JwaSvcGuid.pas}
 
721
{$I JwaSecExt.pas}
 
722
 
 
723
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
724
{$I JwaSspi.pas}
 
725
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
726
 
 
727
{******** LAN Manager **********}
 
728
{do not include JwaLM.pas!}
 
729
 
 
730
{$DEFINE JWA_OMIT_SECTIONS_LM} //define special LM section omitting
 
731
{$I JwaLmAccess.pas}   // Access, Domain, Group and User classes
 
732
{$I JwaLmAlert.pas}    // Alerter
 
733
{$I JwaLmShare.pas}    // Connection, File, Session and Share classes
 
734
{$I JwaLmMsg.pas}      // Message class
 
735
{$I JwaLmRemUtl.pas}   // Remote Utility class
 
736
{$I JwaLmRepl.pas}     // Replicator class
 
737
{$I JwaLmServer.pas}   // Server class
 
738
{$I JwaLmSvc.pas}      // Service class
 
739
{$I JwaLmUse.pas}      // Use class
 
740
{$I JwaLmWkSta.pas}    // Workstation class
 
741
{$I JwaLmApiBuf.pas}   // NetApiBuffer class
 
742
{$I JwaLmErrLog.pas}   // NetErrorLog class
 
743
{$I JwaLmConfig.pas}   // NetConfig class
 
744
{$I JwaLmStats.pas}    // NetStats class
 
745
{$I JwaLmAudit.pas}    // NetAudit class
 
746
{$I JwaLmJoin.pas}     // NetJoinDomain class
 
747
{$I JwaLmUseFlg.pas}
 
748
{$I JwaLmAt.pas}
 
749
{$I JwaLmDFS.pas}
 
750
{$I JwaLmSName.pas}
 
751
 
 
752
{******** the rest **********}
 
753
 
 
754
{$I JwaNetSh.pas}
 
755
{$I JwaNtDdPar.pas}
 
756
{$I JwaSchedule.pas}
 
757
 
 
758
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
759
{$I JwaNtQuery.pas}
 
760
{$I JwaRpcDce.pas}
 
761
{$I JwaNtDsApi.pas}
 
762
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
763
 
 
764
 
 
765
{$I JwaNtDsbCli.pas}
 
766
{$I JwaNtDsBMsg.pas}
 
767
{$I JwaNtLDAP.pas}
 
768
{$I JwaPsApi.pas}
 
769
{$I JwaBitsMsg.pas}
 
770
{$I JwaBits.pas}
 
771
{$I JwaErrorRep.pas}
 
772
{$I JWaBthSdpDef.pas}
 
773
{$I JwaBluetoothAPIs.pas}
 
774
{$I JwaBtHDef.pas}
 
775
{$I JwaWs2Bth.pas} //depends JwaBtHDef.pas
 
776
{$I JwaCryptUIApi.pas}
 
777
{$I JwaCpl.pas}
 
778
{$I JwaCplext.pas}
 
779
{$I JwaColorDlg.pas}
 
780
{$I JwaIisCnfg.pas}
 
781
{$I JwaIAdmExt.pas}
 
782
{$I JwaMsi.pas}
 
783
{$I JwaMsiDefs.pas}
 
784
{$I JwaMsiQuery.pas}
 
785
{$I JwaDSGetDC.pas}
 
786
{$I JwaDskQuota.pas}
 
787
{$I JwaCmnQuery.pas}
 
788
{$I JwaDSQuery.pas}
 
789
{$I JwaDSRole.pas}
 
790
{$I JwaDsSec.pas}
 
791
{$I JwaDbt.pas}
 
792
{$I JwaDhcpCSDK.pas}
 
793
{$I JwaDhcpSSDK.pas}
 
794
{$I JwaDhcpsApi.pas}
 
795
{$I JwaWSipx.pas}
 
796
{$I JwaWsrm.pas}
 
797
{$I JwaWPTypes.pas}
 
798
{$I JwaWPWizMsg.pas}
 
799
{$I JwaHtmlGuid.pas}
 
800
{$I JwaHtmlHelp.pas}
 
801
{$I JwaHhError.pas}
 
802
{$I JwaRegStr.pas}
 
803
{$I JwaPdh.pas}
 
804
{$I JwaProfInfo.pas}
 
805
{$I JwaWbemCli.pas}
 
806
{$I JwaUserEnv.pas}
 
807
{$I JwaWPApiMsg.pas}
 
808
{$I JwaWPApi.pas}
 
809
{$I JwaWPSpiHlp.pas}
 
810
{$I JwaWPPstMsg.pas}
 
811
{$I JwaWPFtpMsg.pas}
 
812
{$I JwaWPCrsMsg.pas}
 
813
{$I JwaAdtGen.pas}
 
814
{$I JwaAdssts.pas}
 
815
{$I JwaAdsnms.pas}
 
816
{$I JwaAdsErr.pas}
 
817
{$I JwaAdsDb.pas}
 
818
{$I JwaAuthz.pas}
 
819
{$I JwaAuthif.pas}
 
820
{$I JwaWinAble.pas}
 
821
{$I JwaWinBer.pas}
 
822
{.$IFNDEF EXCLUDE_FPC}
 
823
  {$I JwaWinFax.pas}
 
824
{.$ENDIF EXCLUDE_FPC}
 
825
{$I JwaWinResrc.pas}
 
826
{$I JwaWinSafer.pas}
 
827
{$I JwaWinWlx.pas}
 
828
{$I JwaWmiStr.pas}
 
829
{$I JwaWowNT16.pas}
 
830
 
 
831
 
 
832
{$I JwaSens.pas}
 
833
{$I JwaSensAPI.pas}
 
834
{$IFNDEF FPC}
 
835
 {$I JwaSensEvts.pas}
 
836
{$ENDIF FPC}
 
837
{$I JwaSfc.pas}
 
838
{$I JwaShlGuid.pas}
 
839
{$I JwaSisBkUp.pas}
 
840
{$I JwaSisBkUp.pas}
 
841
{$I JwaSnmp.pas}
 
842
{$I JwaSpOrder.pas}
 
843
{$I JwaSrRestorePtApi.pas}
 
844
{$I JwaTlHelp32.pas}
 
845
{$I JwaTmSchema.pas}
 
846
{$I JwaTraffic.pas}
 
847
{$I JwaSceSvc.pas}
 
848
{$I JwaSchemaDef.pas} 
 
849
{$I JwaObjSel.pas}
 
850
{$I JwaPatchApi.pas}
 
851
{$I JwaPatchWiz.pas}
 
852
{$I JwaPbt.pas}
 
853
{$I JwaPdhMsg.pas}
 
854
{$I JwaPowrProf.pas}
 
855
{$I JwaProtocol.pas}
 
856
 
 
857
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
858
{$I JwaRpcASync.pas}
 
859
{$I JwaRpcNsi.pas}
 
860
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
861
 
 
862
{$I JwaRpcNtErr.pas}
 
863
{$I JwaRpcSsl.pas}
 
864
{$I JwaMciAvi.pas}
 
865
{$I JwaMprError.pas}
 
866
{$I JwaMsTask.pas}
 
867
{$I JwaCardErr.pas}
 
868
{.$IFNDEF EXCLUDE_FPC}
 
869
  {$I JwaFaxDev.pas}
 
870
  {$I JwaFaxExt.pas}
 
871
  {$I JwaFaxMmc.pas}
 
872
  {$I JwaFaxRoute.pas}
 
873
{.$ENDIF EXCLUDE_FPC}
 
874
{$I JwaGPEdit.pas}
 
875
{$I JwaIAccess.pas}
 
876
{$I JwaImapi.pas}
 
877
{$I JwaImapiError.pas}
 
878
{$I JwaIme.pas}
 
879
{$I JwaBits1_5.pas}
 
880
{$I JwaIoEvent.pas}
 
881
{$I JwaIpIfCons.pas}
 
882
{$I JwaIpInfoId.pas}
 
883
{$I JwaIsGuids.pas}
 
884
{$I JwaIssPer16.pas}
 
885
{$I JwaLoadPerf.pas}
 
886
{$I JwaBatClass.pas}
 
887
{$I JwaBLBErr.pas}
 
888
{$I JwaBugCodes.pas}
 
889
 
 
890
{$IFDEF JWA_INCLUDE_JWAADSTLB}
 
891
{$I JwaBitscfg.pas}
 
892
{$ENDIF JWA_INCLUDE_JWAADSTLB}
 
893
 
 
894
 
 
895
 
 
896
{$DEFINE JWA_INCLUDEMODE}
 
897
 
 
898
{.$I JwaWinternl.pas}
 
899
//these files needs a newer version due to missing units
 
900
{$IFDEF COMPILER6_UP}
 
901
{$I JwaWinSta.pas}
 
902
{$ENDIF COMPILER6_UP}
 
903
{$IFDEF FPC}
 
904
{$I JwaWinSta.pas}
 
905
{$ENDIF FPC}
 
906
 
 
907
{$I ModuleLoader.pas}
 
908
{$IFDEF JWA_INCLUDE_SETUP_API}
 
909
{$DEFINE SETUPAPI_LINKONREQUEST}
 
910
 
 
911
{If the compiler cannot find "SetupApi.pas" its         
 
912
because it resides in "Setup and Config Manager API".
 
913
But the compiler cannot include folders with spaces in it.
 
914
Simply hard link or copy the following files
 
915
into the new folder named "SaCMAPI".
 
916
This issue should be fixed in newer versions of JEDI API LIB.
 
917
If you get this error you should do the things described or upgrade. 
 
918
}
 
919
{$I ..\SaCMAPI\SetupApi.pas}
 
920
{$I ..\SaCMAPI\Cfg.pas}
 
921
{$I ..\SaCMAPI\CfgMgr32.pas}
 
922
{$ENDIF JWA_INCLUDE_SETUP_API}
 
923
 
 
924
{$UNDEF JWA_IMPLEMENTATIONSECTION}
 
925
 
 
926
{$UNDEF JWA_OMIT_SECTIONS}
 
927
 
 
928
end.
 
929
 
 
930
 
 
931