I use ImDisk to create a RAM drive for my %TEMP% folder in Windows. I was working on a NodeJS application which creates temporary files, and the latest version of NodeJS no longer works when attempting to write the files. Apparently they switched to another library which doesn't work with ImDisk, some more information is available here:
https://github.com/n...mment-226982491
My question is regarding the comment in that discussion:
I speculate that the GetFinalPathNameByHandle(VOLUME_NAME_DOS) call fails with ERROR_INVALID_FUNCTION. Libuv maps it to EISDIR for historic (and arguably wrong) reasons.
I can't say for sure but it's quite possibly a bug in the ramdisk driver. For example, if it doesn't support CreateFile(FILE_FLAG_BACKUP_SEMANTICS), then the GetFinalPathNameByHandle call is going to fail for directories and empty files.
Can anyone confirm if this might be a bug in ImDisk or if it's a compatibility problem? I read the Compatibility section on the ImDisk web site, and tried Arsenal Image Mounter, and that worked. Unfortunately AIM doesn't have any of the features that I use in ImDisk so it isn't really a viable replacement as far as I can tell... I've had other weird problems in the past with other applications as well, which may be due to something similar, which is really disappointing.
This is the command I use to create the RAM disk, in case it is something I am doing that causes this (I've tried various alternative commands and nothing solved the problem):
imdisk -a -t file -o awe,rem -s 4096M -S 4096 -m R: -p "/fs:ntfs /v:RAM /A:4096 /q /y"
Edited by fzzzt, 19 June 2016 - 12:09 PM.