Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
SharedMemory.cpp
[詳解]
1// ----------------------------------------------------------------------------
6
7#include "pch.h"
8#include "SharedMemory.h"
9
10using namespace alt;
11
14{
15 _lpvMapped = NULL;
16}
17
19{
20 if (_lpvMapped != NULL)
21 {
22 this->Unmapped ();
23 }
24}
25
26BOOL SharedMemory::Create (LPCTSTR lpctszName, DWORD dwSize)
27{
28 _hObject = ::CreateFileMapping (
29 INVALID_HANDLE_VALUE,
30 NULL,
31 PAGE_READWRITE,
32 0,
33 dwSize,
34 lpctszName);
35
36 return _hObject == NULL ? FALSE : TRUE;
37}
38
39BOOL SharedMemory::Open (LPCTSTR lpctszName)
40{
41 _hObject = ::OpenFileMapping (
42 FILE_MAP_ALL_ACCESS,
43 FALSE,
44 lpctszName);
45
46 return _hObject == NULL ? FALSE : TRUE;
47}
48
50{
51 _lpvMapped = ::MapViewOfFile (
53 FILE_MAP_ALL_ACCESS,
54 0,
55 0,
56 0);
57
58 return _lpvMapped;
59}
60
62{
63 BOOL ret = ::UnmapViewOfFile (_lpvMapped);
64 if (ret) _lpvMapped = NULL;
65
66 return ret;
67}
共有メモリに関するWindowsAPIを集約したクラス
プリコンパイル済みヘッダー ファイルです。
HANDLEを扱うWindowsAPIを集約した基底クラス
HANDLE _hObject
ハンドルを使用するWindowsAPIで保持するHANDLE値
BOOL APIENTRY Create(LPCTSTR lpctszName, DWORD dwSize)
共有メモリの作成
BOOL APIENTRY Unmapped()
共有メモリのマッピング終了
LPVOID APIENTRY Mapped()
共有メモリのマッピング開始
BOOL APIENTRY Open(LPCTSTR lpctszName)
共有メモリのオープン
APIENTRY SharedMemory()
コンストラクタ
APIENTRY ~SharedMemory()
デストラクタ
Definition: DBLibrary.h:12