home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 5
/
ctrom5b.zip
/
ctrom5b
/
PROGRAM
/
PASCAL
/
NWTP06
/
GETOFIL.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-03-01
|
2KB
|
88 lines
program GetOFil;
{ Testprogram for the nwFile unit / NwTP 0.6 API. (c) 1993,1995, R.Spronk }
{ Uses the following calls:
GetConnectionsOpenFiles (nwServ)
MapDirEntryIdToPath (nwFile)
}
uses nwMisc,nwConn,nwFile,nwServ;
Var ConnNumber : Byte;
LastRecordSeen : word;
NbrOfRecords : word;
FileInfo : TfileInfoRecList;
t : Byte;
ExtPath,DosPath: string;
VolName : string;
errCode:Integer;
dHelp:byte;
INaddress:TinternetworkAddress;
begin
dHelp:=0;
If (NOT CheckConsolePrivileges)
then dHelp:=4;
IF (ParamCount<>1)
then dHelp:=1;
if dHelp=0
then begin
Val(ParamStr(1),ConnNumber,errCode);
if (errCode<>0) then dHelp:=2;
end;
{ determine whether connectionnumber is valid.
Remember: using invalid connectionnumbers in combination with the
GetConnection'sOpenFiles function may result in an Abend.. }
if (dHelp=0) and (NOT GetInterNetAddress(connNumber,INaddress))
then dHelp:=3;
if dHelp>0
then begin
if (dHelp=2) or (dHelp=3)
then writeln('Error: invalid connection number specified.');
if dHelp=4
then writeln('!! You need console operator privileges to use this utility.');
writeln;
writeln('GETOFIL - Get connection''s open files.');
writeln;
writeln('Usage: GETOFIL <connection number>');
halt(1);
end;
LastRecordSeen:=0;
Writeln('Files currently held open by connection ',ConnNumber);
REPEAT { iterate / "only" 28 files (max.) returned per call }
IF GetConnectionsOpenFiles (ConnNumber, LastRecordSeen,
NbrOfRecords ,FileInfo)
then begin
for t:=1 to NbrOfRecords
do with FileInfo[t]
do begin
IF MapDirEntryIdToPath(VolNbr,ParentEntryID,NStype,
FileName)
then begin
NovPath2DosPath(ExtPath,DosPath);
GetVolumeName(VolNbr,VolName);
writeln(VolName,':',DosPath,'\',FileName)
end
else writeln('Error calling MapDirEntryIdToPath, err#',nwFile.result);
end;
end
else begin
writeln('err: ',nwServ.result);
halt(1);
end;
UNTIL LastRecordSeen=0;
end.