Ответ 1
Используйте _fileno
, а затем _get_osfhandle
. Не забывайте _close
, когда вы закончите.
EDIT: мне не ясно, что _get_osfhandle
поддерживается в WinCE. Однако документы для WinCE _fileno
говорят, что он возвращает "дескриптор файла", а не "дескриптор". YMMV, но это говорит о том, что вы можете просто использовать возвращаемое значение _fileno
непосредственно как дескриптор WinCE.
EDIT: # 2 Эта теория поддерживается этот человек.
"Если вы посмотрите на заголовочные файлы, которые я опубликовал в списке 29 января вы можете увидеть, как я справился с проблемой создания файла/обработки. У меня не было для замены всех элементов FILE * с помощью HANDLE. См. Следующий фрагмент из fileio.cpp:
#ifndef q4_WCE
FlushFileBuffers((HANDLE) _get_osfhandle(_fileno(_file)));
HANDLE h = ::CreateFileMapping((HANDLE)
_get_osfhandle(_fileno(_file)),
0, PAGE_READONLY, 0, len, 0);
#else
FlushFileBuffers((HANDLE) _fileno(_file));
HANDLE h = ::CreateFileMapping((HANDLE) _fileno(_file),
0, PAGE_READONLY, 0, len, 0);
#endif //q4_WCE
Оказывается, _fileno возвращает дескриптор. Вам просто нужно бросить это. "