• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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