I got the solution, thanks everyone for helping, the problem is with what we are searching for:
LPCWSTR lpath = _T("C:\\Program Files\\Manual\\");
This doesn't do anything
LPCWSTR lpath = _T("C:\\Program Files\\Manual\\*");
This means search for a directory by name *
LPCWSTR lpath = _T("C:\\Program Files\\Manual\\*.");
This means search for all files, but also returning directory names not sure abt it
LPCWSTR lpath = _T("C:\\Program Files\\Manual\\*.pdf");
This means serching especially for pdf files.
but this was never specified in microsoft docuemnts, hate them.
FindNextFile returns every next file and return value helps in continuing the loop or not.