![]() |
Questions and AnswersWritten by Larry Salomon, Jr. |
Before anything, a correction needs to be stated. Last month, I stated that there appeared to be no difference between the WinLoadString() and WinLoadMessage() functions. Unfortunately, I did not check into this other than a perusal of the documentation, but the documentation seems to be incomplete or incorrect. When I substituted WinLoadMessage() for WinLoadString() in an application, incomprehensible text was returned. Considering the function of DosGetMessage(), I imagine that there might be some analogy between it and WinLoadMessage(). If anyone else has more information to clarify this, I would appreciate it if it were emailed to me. Mark Mathews (mark.mathews@channel1.com) writes: Q: What is the structure of the delete files in D:\DELETE? These files are created every time I delete files. Can you explain how these files are created and what happens when they are undeleted? I am writing an undelete program. (Might be an article here). A: To figure this out, I "installed" the undelete feature on my machine by un-REM-ing the SET DELDIR=... statement in my CONFIG.SYS and creating the directories specified. After deleting a few test files, I ran a utility to dump the binary data for the control file - CONTROL.DEL. It seems that the delete process works as such:
CONTROL.DEL DataShow file offset utilityVersion 1.10 Copyright (c) 1992 by Larry Salomon, Jr. All rights reserved. Offset +--------------------------------------------------------+------------------+ 0x0000 | 5C 74 65 6D 70 5C 74 65 73 74 33 2E 75 6E 64 00 | \temp\test3.und. | 0x0010 | 2E 33 34 00 48 45 41 44 45 52 2E 57 4B 33 00 00 | .34.HEADER.WK3.. | 0x0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0090 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x00A0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x00B0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x00C0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x00D0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x00E0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x00F0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0100 | 00 00 00 00 32 36 31 32 30 35 34 35 2E 35 39 41 | ....26120545.59A | 0x0110 | 00 00 02 00 00 5C 74 65 6D 70 5C 54 45 53 54 32 | .....\temp\TEST2 | 0x0120 | 2E 55 4E 44 00 2E 33 34 00 48 45 41 44 45 52 2E | .UND..34.HEADER. | 0x0130 | 57 4B 33 00 00 00 00 00 00 00 00 00 00 00 00 00 | WK3............. | 0x0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0150 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0170 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0190 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x01A0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x01B0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x01C0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x01D0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x01E0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x01F0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0210 | 00 00 00 00 00 00 00 00 00 32 36 31 32 30 35 34 | .........2612054 | 0x0220 | 35 2E 35 39 00 00 00 02 00 00 5C 74 65 6D 70 5C | 5.59......\temp\ | 0x0230 | 54 45 53 54 31 2E 55 4E 44 00 2E 33 34 00 48 45 | TEST1.UND..34.HE | 0x0240 | 41 44 45 52 2E 57 4B 33 00 00 00 00 00 00 00 00 | ADER.WK3........ | 0x0250 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0270 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0290 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x02A0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x02B0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x02C0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x02D0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x02E0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x02F0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0310 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 36 | ..............26 | 0x0330 | 31 32 30 35 34 35 2E 35 36 00 00 00 02 00 00 5C | 120545.56......\ | 0x0340 | 74 65 6D 70 5C 65 2E 74 6D 70 00 75 6E 64 00 2E | temp\e.tmp.und.. | 0x0350 | 33 34 00 48 45 41 44 45 52 2E 57 4B 33 00 00 00 | 34.HEADER.WK3... | 0x0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0370 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0390 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x03A0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x03B0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x03C0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x03D0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x03E0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x03F0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0410 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0430 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0440 | 00 00 00 32 36 31 32 30 34 30 31 2E 39 37 00 00 | ...26120401.97.. | 0x0450 | 00 02 00 00 5C 64 65 6C 65 74 65 5C 32 36 31 31 | ....\delete\2611 | 0x0460 | 35 36 34 31 2E 33 34 00 48 45 41 44 45 52 2E 57 | 5641.34.HEADER.W | 0x0470 | 4B 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | K3.............. | 0x0480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0490 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x04A0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x04B0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x04C0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x04D0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x04E0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x04F0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0510 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0530 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0x0550 | 00 00 00 00 00 00 00 00 32 36 31 31 35 39 30 37 | ........26115907 | 0x0560 | 2E 32 38 00 00 00 AA 02 00 | .28...... | +--------------------------------------------------------+------------------+ |