/*! \internal */ qint64 QFSFileEnginePrivate::nativePos() const { #ifdef Q_OS_SYMBIAN const Q_Q(QFSFileEngine); if (symbianFile.SubSessionHandle()) { return symbianFilePos; } #endif return posFdFh(); }
/* \internal */ qint64 QFSFileEnginePrivate::nativePos() const { Q_Q(const QFSFileEngine); QFSFileEngine *thatQ = const_cast<QFSFileEngine *>(q); if (fh || fd != -1) { // stdlib / stido mode. return posFdFh(); } // Windows native mode. if (fileHandle == INVALID_HANDLE_VALUE) return 0; #if !defined(Q_OS_WINCE) LARGE_INTEGER currentFilePos; LARGE_INTEGER offset; offset.QuadPart = 0; if (!::SetFilePointerEx(fileHandle, offset, ¤tFilePos, FILE_CURRENT)) { thatQ->setError(QFile::UnspecifiedError, qt_error_string()); return 0; } return qint64(currentFilePos.QuadPart); #else LARGE_INTEGER filepos; filepos.HighPart = 0; DWORD newFilePointer = SetFilePointer(fileHandle, 0, &filepos.HighPart, FILE_CURRENT); if (newFilePointer == 0xFFFFFFFF && GetLastError() != NO_ERROR) { thatQ->setError(QFile::UnspecifiedError, qt_error_string()); return 0; } filepos.LowPart = newFilePointer; return filepos.QuadPart; #endif }
/*! \internal */ qint64 QFSFileEnginePrivate::nativePos() const { return posFdFh(); }