Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
|
ヒープメモリに関するAPIを集約したクラス [詳解]
#include <HeapMemory.h>
公開メンバ関数 | |
APIENTRY | HeapMemory () |
コンストラクタ | |
APIENTRY | HeapMemory (const HeapMemory &base) |
コピーコンストラクタ | |
APIENTRY | ~HeapMemory () |
デストラクタ | |
virtual LPVOID APIENTRY | Allocate (SIZE_T bytes, DWORD dwFlags=MEM_ZERO) |
メモリの取得 | |
BOOL APIENTRY | Close () |
取得したヒープ領域の解放 | |
SIZE_T APIENTRY | Compact () const |
取得したヒープ領域の整理 | |
BOOL APIENTRY | Create (SIZE_T initialSize=0, SIZE_T maximumSize=0, DWORD dwOptions=0) |
ヒープ領域の取得 | |
virtual BOOL APIENTRY | Free (LPVOID lpvMem) |
メモリの返却 | |
BOOL APIENTRY | Open () |
システムヒープ領域の取得 | |
virtual LPVOID APIENTRY | Reallocate (LPVOID lpvMem, SIZE_T bytes, DWORD dwFlags=MEM_ZERO) |
取得メモリの拡大 | |
![]() | |
APIENTRY | HandleLibrary () |
コンストラクタ | |
APIENTRY | ~HandleLibrary () |
デストラクタ | |
BOOL APIENTRY | Close () |
使用しなくなったハンドルはこれでクローズします。 | |
HANDLE APIENTRY | GetHandle () const |
継承先はこの関数でハンドルを取得します。 | |
![]() | |
APIENTRY | WindowsLibrary () |
コンストラクタ | |
virtual APIENTRY | ~WindowsLibrary () |
デストラクタ | |
virtual DWORD APIENTRY | GetErrNo () const |
WindowsAPIのエラー値を取得します。 | |
virtual VOID APIENTRY | SetErrNo () |
WINAPIエラーの情報を設定します。 | |
virtual LPVOID APIENTRY | Allocate (SIZE_T bytes, DWORD dwFlags=MEM_ZERO)=0 |
メモリの取得 | |
virtual BOOL APIENTRY | Free (LPVOID lpvMem)=0 |
メモリの返却 | |
virtual LPVOID APIENTRY | Reallocate (LPVOID lpvMem, SIZE_T bytes, DWORD dwFlags=MEM_ZERO)=0 |
取得メモリの拡大 | |
非公開メンバ関数 | |
SIZE_T APIENTRY | BoundarySize (SIZE_T bytes) const |
非公開変数類 | |
BOOL | _bCreateHeap |
INT | _iBoundary |
その他の継承メンバ | |
![]() | |
HANDLE | _hObject |
ハンドルを使用するWindowsAPIで保持するHANDLE値 | |
![]() | |
DWORD | _dwErrorNo |
ヒープメモリに関するAPIを集約したクラス
HeapMemory.h の 45 行目に定義があります。
HeapMemory::HeapMemory | ( | ) |
APIENTRY alt::HeapMemory::HeapMemory | ( | const HeapMemory & | base | ) |
コピーコンストラクタ
HeapMemory::~HeapMemory | ( | ) |
|
virtual |
メモリの取得
bytes | 取得サイズ |
dwFlags | 取得メモリへの設定 |
取得したメモリのアドレス |
alt::skeleton::IMemoryを実装しています。
HeapMemory.cpp の 115 行目に定義があります。
参照先 alt::HandleLibrary::_hObject, BoundarySize().
参照元 PerfCheck::HeapPerformanceCheck::Core(), WindowsLibraryTest::TEST_CLASS().
|
private |
BOOL HeapMemory::Close | ( | ) |
取得したヒープ領域の解放
TRUE(成功) | |
FALSE(失敗) |
HeapMemory.cpp の 95 行目に定義があります。
SIZE_T HeapMemory::Compact | ( | ) | const |
取得したヒープ領域の整理
整理した後のメモリサイズ |
HeapMemory.cpp の 110 行目に定義があります。
参照先 alt::HandleLibrary::_hObject.
参照元 alt::skeleton::Array< T >::Shurink(), WindowsLibraryTest::TEST_CLASS().
BOOL HeapMemory::Create | ( | SIZE_T | initialSize = 0 , |
SIZE_T | maximumSize = 0 , |
||
DWORD | dwOptions = 0 |
||
) |
ヒープ領域の取得
initialSize | 初期サイズ |
maximumSize | 最大サイズ |
dwOptions | オプション |
TRUE(成功) | |
FALSE(失敗) |
HeapMemory.cpp の 56 行目に定義があります。
参照先 _bCreateHeap, alt::HandleLibrary::_hObject.
参照元 PerfCheck::HeapPerformanceCheck::Core(), PerfCheck::FreightPerformanceCheck::DoAction(), LeakCheck::BinderMemoryLeakCheck::DoAction1(), LeakCheck::FreightMemoryLeakCheck::DoAction1(), LeakCheck::BinderMemoryLeakCheck::DoAction2(), LeakCheck::FreightMemoryLeakCheck::DoAction2(), LeakCheck::BinderMemoryLeakCheck::DoAction3(), LeakCheck::FreightMemoryLeakCheck::DoAction3(), LeakCheck::BinderMemoryLeakCheck::DoAction4(), LeakCheck::FreightMemoryLeakCheck::DoAction4(), LeakCheck::FreightMemoryLeakCheck::DoAction5(), LeakCheck::FreightMemoryLeakCheck::DoAction6(), WindowsLibraryTest::TEST_CLASS().
|
virtual |
メモリの返却
lpvMem | 返却するアドレス |
TRUE(成功) | |
FALSE(失敗) |
alt::skeleton::IMemoryを実装しています。
HeapMemory.cpp の 130 行目に定義があります。
参照先 alt::HandleLibrary::_hObject.
参照元 PerfCheck::HeapPerformanceCheck::Core(), WindowsLibraryTest::TEST_CLASS().
BOOL HeapMemory::Open | ( | ) |
システムヒープ領域の取得
TRUE(成功) | |
FALSE(失敗) |
HeapMemory.cpp の 87 行目に定義があります。
参照先 _bCreateHeap, alt::HandleLibrary::_hObject.
参照元 PerfCheck::FreightPerformanceCheck::DoAction(), WindowsLibraryTest::TEST_CLASS().
|
virtual |
取得メモリの拡大
lpvMem | 拡大させるアドレス |
bytes | 拡大サイズ |
dwFlags | 再取得メモリへの設定 |
再取得したメモリのアドレス |
alt::skeleton::IMemoryを実装しています。
HeapMemory.cpp の 120 行目に定義があります。
|
private |
HeapMemory.h の 114 行目に定義があります。
参照元 HeapMemory(), Close(), Create(), Open().
|
private |
HeapMemory.h の 113 行目に定義があります。
参照元 HeapMemory(), BoundarySize().