Interceptar y redireccionar operaciones de archivos de Windows en un programa C

Interceptar y redireccionar operaciones de archivos de Windows en un programa C

Mi intención es escribir un programa (tengo Pelles C) cuya función sea interceptar las lecturas/escrituras de Windows en ciertos directorios y redirigirlas a otros especificados por el usuario. Por ejemplo, cierto software está codificado para escribir en C:\Windows\Temp, ignorando las variables de entorno TEMP y TMP del sistema. Cuando cualquier programa solicita una operación de archivo, el mío interceptaría la solicitud, obtendría el directorio de destino, lo compararía con las entradas de una lista creada por el usuario y luego vería que todas las lecturas/escrituras fueran redirigidas a la ubicación deseada (por ejemplo, D:\Temp ). Mi mayor obstáculo es que no sé programación específica de Windows (aunque conozco ANSI C). Y mi investigación en Google tampoco ha sido tan fructífera. Espero que alguien pueda indicarme algunos recursos que puedan ser útiles para resolver este problema. Nota: Todos los sistemas de destino son de 64 bits y ejecutan Windows 7, 8.1 y 10.

información relacionada