Hablando de C, la API
GetFileVersionInfo se muestra así en MSDN:
Código:
BOOL WINAPI GetFileVersionInfo(LPCTSTR lptstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData);
LPCTSTR lptstrFilename es lo mismo que
const char* lptstrFilename, es decir que
lptstrFilename apunta a una cadena de caracteres, estilo C, constante o lo que es lo mismo, la API
GetFileVersionInfo no va a modificar el valor apuntado por
lptstrFilename.
De forma que tal y como se declara en este momento
GetFileVersionInfo se puede usar sin necesidad de una variable de paso sin temor a que sea modificada.
En mi opinión cualquier comentario encontrado en el código que ponga en duda la integridad del valor de la cadena de caracteres pasada como parámetro no hace otra cosa que intimidar y confundir al que posteriormente lo lea y muy posiblemente se encuentre versión tras versión como temor ancestral que nadie se atreve a combatir.
Saludos.