argv [1] — первый параметр функции (не массив argv, а параметр CreateFile ) — имя файла, (а теперь про argv) задан первым параметром в командной строке вызова программы, содержащей такую строку
GENERIC_READ — данный файл открывается на чтение, то есть должен существовать заранее