Rev 76 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
75 | daniel-mar | 1 | unit RecBinUnitLowLvl; |
2 | |||
3 | // TODO: Gain more information about drive '@' / Homedrive / Netdrive? Win2000 source |
||
4 | // + überall verwenden |
||
5 | |||
6 | interface |
||
7 | |||
8 | uses |
||
9 | Windows; |
||
10 | |||
11 | type |
||
12 | TRbInfo12Header = record |
||
13 | unknown1: DWORD; // For INFO2 always 05 00 00 00 ? |
||
14 | unknown2: DWORD; // For INFO2 always 00 00 00 00 ? |
||
15 | unknown3: DWORD; // For INFO2 always 00 00 00 00 ? |
||
16 | recordLength: DWORD; // 0x181 = INFO structure (without Unicode) |
||
17 | // 0x320 = INFO2 structure (with Unicode) |
||
18 | totalSize: DWORD; // INFO file: sum of all "originalSize" values |
||
19 | // INFO2 file: always zero? |
||
20 | end; |
||
21 | |||
22 | type |
||
23 | TRbInfoRecord = record |
||
24 | sourceAnsi: array[0..MAX_PATH-3] of AnsiChar; // 258 elements |
||
25 | recordNumber: DWORD; |
||
26 | sourceDrive: DWORD; |
||
27 | deletionTime: FILETIME; |
||
28 | originalSize: DWORD; // Size occupied on disk. Not the actual file size. |
||
29 | // INFO2, for folders: The whole folder size with contents |
||
30 | end; |
||
31 | |||
32 | type |
||
33 | TRbInfo2Record = record |
||
34 | sourceAnsi: array[0..MAX_PATH-3] of AnsiChar; // 258 elements |
||
35 | recordNumber: DWORD; |
||
36 | sourceDrive: DWORD; |
||
37 | deletionTime: FILETIME; |
||
38 | originalSize: DWORD; |
||
39 | sourceUnicode: array[0..MAX_PATH-3] of WideChar; // 258 elements |
||
40 | unknown1: DWORD; // Dummy? |
||
41 | end; |
||
42 | |||
43 | type |
||
44 | TRbVistaRecord = record |
||
45 | signature: int64; // Always 01 00 00 00 00 00 00 00 ? |
||
46 | originalSize: int64; |
||
47 | deletionTime: FILETIME; |
||
48 | sourceUnicode: array[0..MAX_PATH-1] of WideChar; |
||
49 | end; |
||
50 | |||
51 | type |
||
52 | // Windows 95 |
||
53 | // HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\BitBucket: PurgeInfo (Binary) |
||
54 | TRbWin95PurgeInfo = record |
||
55 | cbSize: DWORD; |
||
56 | bGlobalSettings: BOOL; |
||
57 | percentDrive: array['A'..'Z'] of WORD; // 0x00..0x64 = 0%..100% |
||
58 | percentHomedrive: WORD; |
||
59 | percentGlobal: WORD; |
||
60 | NukeOnDeleteBits: DWORD; // Flags "Nuke on delete" |
||
61 | // Bit 0 (LSB): Drive A |
||
62 | // Bit 1: Drive B |
||
63 | // ... |
||
64 | // Bit 25: Drive Z |
||
65 | // Bit 26: Homedrive |
||
66 | // Bit 27: Global |
||
67 | // Bit 28..31 (MSB) probably unused |
||
68 | unknown1: DWORD; // For example 04 0D 02 00 |
||
69 | end; // or C4 0C 02 00 |
||
70 | |||
71 | implementation |
||
72 | |||
73 | end. |