I suspect that the file you examined did not have a valid Windows header on it; it's entirely possible to point at a .COM or .EXE file and get a zero return, indicating that the version information is not embedded in the file. You might want to read the documentation for the function for more detail.