Пофиксить баг в DLL 2
Есть чужая DLL, в ней функция, при вызове этой функции из под Vista софт вылетает без шума и пыли.
Проблема известна где, функция во время выполнения для своей работы пытается создавать временный файл функцией TMPFILE в корне диска, а включенный UAC Висты этого не разрешает.
Соотвественно, под WinXP и Win7 с любым уровнем UAC все работает нормально.
Исходя из описания TMPFILE, выходит что есть возможность создавать временный файл не в корне диска, а в текущей дирректории:
The tmpfile function creates a temporary file and returns a pointer to that stream. The temporary file is created in the root directory.
To create a temporary file in a directory other than the root, use tmpnam or tempnam in conjunction with fopen.
Что и нужно реализовать. Пропатчить ее таким образом. Сам я на Delphi пишу, СИ не понимаю.
DLL, описание, адреса где что находиться все дам.
Скидывайте свой email в личку, на который я все вышлю.