1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef _FXCRT_WINDOWS_ 8 #define _FXCRT_WINDOWS_ 9 #include "extension.h" 10 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ 11 class CFXCRT_FileAccess_Win64 : public IFXCRT_FileAccess, public CFX_Object 12 { 13 public: 14 CFXCRT_FileAccess_Win64(); 15 virtual ~CFXCRT_FileAccess_Win64(); 16 virtual FX_BOOL Open(FX_BSTR fileName, FX_DWORD dwMode); 17 virtual FX_BOOL Open(FX_WSTR fileName, FX_DWORD dwMode); 18 virtual void Close(); 19 virtual void Release(IFX_Allocator* pAllocator = NULL); 20 virtual FX_FILESIZE GetSize() const; 21 virtual FX_FILESIZE GetPosition() const; 22 virtual FX_FILESIZE SetPosition(FX_FILESIZE pos); 23 virtual size_t Read(void* pBuffer, size_t szBuffer); 24 virtual size_t Write(const void* pBuffer, size_t szBuffer); 25 virtual size_t ReadPos(void* pBuffer, size_t szBuffer, FX_FILESIZE pos); 26 virtual size_t WritePos(const void* pBuffer, size_t szBuffer, FX_FILESIZE pos); 27 virtual FX_BOOL Flush(); 28 virtual FX_BOOL Truncate(FX_FILESIZE szFile); 29 protected: 30 FX_LPVOID m_hFile; 31 }; 32 #endif 33 #endif 34