A>handle=36
A>GetFileType=0
A>GetLastError возвращает 0.
A>A>FILE_TYPE_UNKNOWN
A>0x0000
A>Either the type of the specified file is unknown, or the function failed.
A>Что происходит?
Происходит то, что тип файл не является ни одним из тех значений, которые умеет выдавать GetFileType. Что вызывает бурное отторжение у CRT, которая так же проверяет тип переданного хэндла при помощи GetFileType. GetFileType использует NtQueryVolumeInformationFile(FileFsDeviceInformation) и что та вернет — определяется драйвером, который файл заимплементил.
Самое правильное решение тут было бы отказаться от идеи использования FILE *. Но возможны и другие, костыльные и геморройные варианты.