Validating the destination file paths
However, several of its possible return values are based on pre-Win32 error codes, which in some cases overlap the later Winerror.h values without matching their meaning.
Those particular values are detailed here, and for these specific values only these meanings should be accepted over the Winerror.h codes.
The exceptions are the My Documents (CSIDL_PERSONAL, CSIDL_DOCUMENTS) and My Pictures folders (CSIDL_MYPICTURES).Do not use Get Last Error with the return values of this function.To examine the nonzero values for troubleshooting purposes, they largely map to those defined in Winerror.h.However, these values are provided with these warnings: You should use fully qualified path names with this function.
Using it with relative path names is not thread safe.In order to verify or rebuild a set, you need its corresponding DAT file and a software tool to process the DAT.DATs describe the ROM contents including filenames, file sizes, and checksums to verify contents are not incorrect or corrupt.This parameter must contain a valid value that is not NULL. If you do not validate it, you will experience unexpected results.