Up ] Docs Home ]

Call DELWATCH private entry point with

Back ] Next ]

Data:
AX =
00h (OS hook) installation check
Data: AL = 00h required for DELWATCH 1.x

Return:

CF - clear
AX = 0000h
CX = 0004h (unsupported function)
01h (DELWATCH 1.x) New Disk
???
01h (DELWATCH 2.0+) disable DELWATCH on drive
Data: AL = drive number (00h = A:)
Return: AX = status
0000h = failed
FFFFFh = successful
02h (OS hook) Delete File

Data:

AL = drive number (00h = A:)
DX = directory cluster number (0000h for root directory)
CX = directory entry number
DS:BX directory entry
ES - must be valid selectors if called in protected mode
DS - must be valid selectors if called in protected mode

Return:

DS:BX updated directory entry
CF - set if file is to be deleted by the OS
CF - clear if DELWATCH has placed the file in its queue
Note:

Deletes the directory entry.

03h (OS hook) Free Clusters

Data:

AL = drive number (00h = A:)
CX = number of clusters currently free (do not free if > 1)
DX = preferred 'search from cluster' (ignored by DELWATCH 2.0)

Return:

CF - clear if clusters freed
CF - set if no clusters freed
DX = new 'search from' cluster (one before first free)
04h (OS hook) free root directory entry
Data: AL = drive number (00h = A:)
Return: CF - set if no directory entry freed
05h (OS hook) return free space

Data:

AL = drive number (00h = A:)
CX = number of free clusters
Return: CX = updated number of free clusters
Note:

Adds space used by "deleted" files to free space call is chained.

06h enable DELWATCH on drive

Data:

AL = drive number with bit 7 set (80h = A:, etc.)
(DELWATCH 2.0+: set bit 6 for removable drives)
BX = maximum files of same name in one directory to save
CX = maximum files to save on this disk
DS:DX MEMDESC??? for drive data (see #04104)
DS:SI MEMDESC??? for DWLIST (see #04104)
ES - must contain valid selectors if called in protected mode
DS - must contain valid selectors if called in protected mode

Return:

AX = status
0000h = failed
FFFFh = successful
CX = error code on failure (see #04102) (0004h "wrong version" if AL < 80h on entry)
07h (DELWATCH 1.x) disable DELWATCH on drive
???
07h (DELWATCH 2.0+) (OS hook) new disk

Data:

AL = drive (00h = A:, etc.)
ES:BX DOS DDSC structure
CF - set if not enabled
Return:

???

08h set file extensions list

Data:

AL = sense
00h = exclude named extensions
01h = only named ext.
DS:BX 31-byte ASCIZ extension list (three blank-padded bytes per extension)
Return: AX = FFFFh (successful)
09h adjust pending delete space

Data:

AL = drive number (00h = A:)
CX = number of clusters being freed
Return: AX = 0000h if drive not enabled
0Ah remove DELWATCH entry

Data:

AL = drive number (00h = A:)
DX = directory cluster number (0000h if root directory)
CX = directory entry number
BX:SI filename
ES - must contain valid selectors if called in protected mode
DS - must contain valid selectors if called in protected mode
Return: AX > 0000h if entry found in DWLIST
0Bh enable NEWDISK
Return: AX > 0000h if successful (FFFFh for DELWATCH 2.0) see also function 0Dh
0Ch (DELWATCH 1.x) drive status
Data: AL = drive number (00h = A:, etc.)

Return:

AX = drive data segment, 0000h if not enabled
CX = pending delete space, if drive enabled
0Ch (DELWATCH 2.0+) check if drive enabled

Data:

AL = drive number with bit 7 set (80h = A:, etc.)
DS:DX MEMDESC for drive data (see #04104)
DX = 0000h if not required
DS:SI MEMDESC for DWLIST (see #04104)
SI = 0000h if not required
ES - must contain valid selectors if called in protected mode
DS - must contain valid selectors if called in protected mode
Return: AX = drive status (see also #04103)
0000h = disabled or error
CX = error code (see #04102)
0001h = drive enabled
CX = pending delete space, FFFFh if NEWDISK not yet called
0Dh disable NEWDISK
Data: BX = segment address of bitmap buffer
Return: AX > 0000h if successful (FFFFh for DELWATCH 2.0) see also function 0Bh
0Eh (DELWATCH 2.0+) (OS hook) purge file

Data:

AL = drive number (00h = A:)
DX = directory cluster number (0000h if root directory)
CX = directory entry number

Return:

CF - set if drive not enabled
CF - clear
AX = status
0000h = successfully purged
else = error code (see #04102)
0Fh (DELWATCH 2.0+) (OS hook) undelete file

Data:

AL = drive number (00h = A:)
DX = directory cluster number (0000h if root directory)
CX = directory entry number

Return:

CF - set if drive not enabled
CF - clear
AX = status
0000h = successfully undeleted
else = error code (see #04102)
Return:
AX = 0000h (see #04102) if DELWATCH busy
CX = 0001h (see #04102) if DELWATCH busy
registers - unchanged if AH > 0Fh on entry
Notes: Functions marked "OS hook" must under no circumstances by called by external applications, as this would bypass the serialization performed by the kernel and cause problems at least in multitasking environments.
Two functions have been swapped between DELWATCH 1.x and DELWATCH 2.0 to ensure that DELWATCH 1.x calls will not do anything under newer versions of the OS; for the same reason, the drive number in AL sometimes requires that bit 7 be set for DELWATCH 2.0+.
See Also:  AX=1001h,AX=1010h