ReactOS 0.4.15-dev-8076-g06e89b2
cicfmap.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Cicero
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Cicero file mapping
5 * COPYRIGHT: Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6 */
7
8#pragma once
9
10#include "cicmutex.h"
11
12// class CicFileMappingStatic;
13// class CicFileMapping;
14
16{
17protected:
24
25 LPVOID _Map();
26
27public:
30
31 void Init(LPCTSTR pszName, CicMutex *pMutex);
32
33 LPVOID Create(LPSECURITY_ATTRIBUTES pSA, DWORD dwMaximumSizeLow, LPBOOL pbAlreadyExists);
34 LPVOID Open();
35 void Close();
36
37 BOOL Enter();
38 void Leave();
39 BOOL Flush(SIZE_T dwNumberOfBytesToFlush);
40 void Finalize();
41};
42
44{
45public:
46 CicFileMapping(LPCTSTR pszName, CicMutex *pMutex);
47 virtual ~CicFileMapping() { Finalize(); }
48};
@ Create
Definition: registry.c:563
LPCTSTR m_pszName
Definition: cicfmap.h:18
CicMutex * m_pMutex
Definition: cicfmap.h:23
virtual ~CicFileMapping()
Definition: cicfmap.h:47
@ Flush
Definition: fatprocs.h:1054
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
ULONG_PTR SIZE_T
Definition: typedefs.h:80
BOOL * LPBOOL
Definition: windef.h:162
const CHAR * LPCTSTR
Definition: xmlstorage.h:193