home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 April / Chip_2002-04_cd1.bin / zkuste / delphi / kolekce / d56 / NT.ZIP / NTUserModalGet.pas < prev    next >
Pascal/Delphi Source File  |  1999-06-20  |  2KB  |  69 lines

  1. unit NTUserModalGet;
  2.  
  3. interface
  4.  
  5. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
  6.  
  7. type
  8.   TNTUserModalGet = class(TComponent)
  9.   private
  10.     { Private declarations }
  11.     FServer:String;
  12.     FMinPasswordLen:DWORD;
  13.     FMinPasswordAge:DWORD;
  14.     FMaxPasswordAge:DWORD;
  15.     FForceLogoff:DWORD;
  16.     FPasswordHistLen:DWORD;
  17.   protected
  18.     { Protected declarations }
  19.   public
  20.     { Public declarations }
  21.   published
  22.     { Published declarations }
  23.     property Server:String read FServer write FServer;
  24.     property MinPasswordLen:DWORD read FMinPasswordLen;
  25.     property MinPasswordAge:DWORD read FMinPasswordAge;
  26.     property MaxPasswordAge:DWORD read FMaxPasswordAge;
  27.     property ForceLogoff:DWORD read FForceLogOff;
  28.     property PasswordHistoryLen:DWORD read FPasswordHistLen;
  29.     function Execute:LongInt;
  30.   end;
  31.  
  32. Type USER_MODALS_INFO_0=record
  33.     usrmod0_min_passwd_len:DWORD;    usrmod0_max_passwd_age:DWORD;    usrmod0_min_passwd_age:DWORD;    usrmod0_force_logoff:DWORD;    usrmod0_password_hist_len:DWORD;End;
  34.  
  35. function NetUserModalsGet(Server:PWideChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll';
  36.  
  37. procedure Register;
  38.  
  39. implementation
  40.  
  41. function TNTUserModalGet.Execute:LongInt;
  42. var
  43.    TheServer:Array[0..255] Of WideChar;
  44.    MyInfo:USER_MODALS_INFO_0;
  45.    MyPtr:Pointer;
  46. begin
  47.      StringToWideChar(FServer,@TheServer,255);
  48.      Result:=NetUserModalsGet(@TheServer,0,@MyPtr);
  49.      If MyPtr<>nil Then
  50.      Begin
  51.           MyInfo:=USER_MODALS_INFO_0(MyPtr^);
  52.           FMinPasswordLen:=MyInfo.usrmod0_min_passwd_len;
  53.           FMinPasswordAge:=MyInfo.usrmod0_max_passwd_age;          FMaxPasswordAge:=MyInfo.usrmod0_min_passwd_age;          FForceLogoff:=MyInfo.usrmod0_force_logoff;          FPasswordHistLen:=MyInfo.usrmod0_password_hist_len;     End Else
  54.      Begin
  55.           FMinPasswordLen:=0;
  56.           FMinPasswordAge:=0;
  57.           FMaxPasswordAge:=0;
  58.           FForceLogoff:=0;
  59.           FPasswordHistLen:=0;
  60.      End;
  61. end;
  62.  
  63. procedure Register;
  64. begin
  65.   RegisterComponents('NT Tools - User Management', [TNTUserModalGet]);
  66. end;
  67.  
  68. end.
  69.