1. Take 1 scsi fat32 volume (Not the boot drive of course!), and
modify the boot sector partition table to hide the partition using
aspi functions.

2. Run diskmanager and the volume disappears.

3. Do stuff to the volume using aspi. (Please don't ask, but it is
stil FAT32 in format at the end.)

4. Reinstate the partition table as it was.

5. Run diskmanager and the volume (with new contents) re-appears.

I have tried replacing the diskmanager calls by using
DeleteVolumeMountPoint which will hide it, but SetVolumeMountPoint
which reinstates it also reinstates the cache of the original
contents, and disaster ensues.

What I need is information on how to force the OS to completely
re-read the disk in the same way that diskmanager does, but from
within the application. (manual running or _exec functions are not an
option.)

PS I have tried the most likely looking IOCTL commands (using a
handle to the \\?\Volume{guid} mount point to no avail.