メインページ   名前空間一覧   クラス階層   アルファベット順一覧   構成   ファイル一覧   名前空間メンバ   構成メンバ   ファイルメンバ  

クラス KSCL::CVirtualAlloc の解説

・ VirtualAllocEx() で確保されるメモリを管理します。. より詳しく...

KSCL::CVirtualAllocのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

公開メンバ

 CVirtualAlloc ()
 ・コンストラクタ。. より詳しく...

 CVirtualAlloc (const HWND p_hWnd) throw ( CWin32ErrorException )
 ・コンストラクタ。. より詳しく...

virtual ~CVirtualAlloc () throw ()
 ・デストラクタ。. より詳しく...

void * Alloc (const DWORD p_dwSize) throw ()
 ・メモリを確保します。. より詳しく...

void Free () throw ( CWin32ErrorException )
 ・解放します。. より詳しく...

HANDLE GetProcessHandle () const throw ()
 ・プロセスハンドルを取得します。. より詳しく...

void * GetPointer () throw ()
 ・ポインタを取得します。. より詳しく...

const void * GetPointer () const throw ()
 ・ポインタを取得します。. より詳しく...

DWORD GetSize () const throw ()
 ・サイズを取得します。. より詳しく...

CVirtualAlloc & operator<< (const CVirtualAlloc &p_rcVirtualAlloc) throw ( CWin32ErrorException )
 ・コピーします。. より詳しく...


非公開メンバ

 CVirtualAlloc (const CVirtualAlloc &p_rcVirtualAlloc) throw ()
 ・コピーコンストラクタ。. より詳しく...


非公開属性

CProcessHandle m_cProcessHandle
 他のプロセスのメモリ領域を使用する場合の、その他のプロセスのハンドル。. より詳しく...

void * m_pvData
 確保したメモリ領域を指すポインタ。. より詳しく...

DWORD m_dwSize
 確保したメモリ領域のサイズ。. より詳しく...


解説

・ VirtualAllocEx() で確保されるメモリを管理します。.

 new では代用できない特殊なメモリ領域を確保できる VirtualAllocEx() 、このメモリ領域を 管理します。
 デスクトップのリストコントロールにアクセスする時など、他のプロセス内にメモリ領域を確保する必要が ある場合に使用してください。
 また、このクラスは VirtualAlloc() の機能も兼ね備えています。引数のないコンストラクタを呼び出せば 自プロセス内にメモリ領域を確保します。他プロセスに確保したメモリ領域を参照する場合には、その中身を 一度自プロセスに確保した方にコピーしてから参照してください。


コンストラクタとデストラクタの解説

KSCL::CVirtualAlloc::CVirtualAlloc  
 

・コンストラクタ。.

 初期化します。
 メモリ領域は自プロセス内に作成されることになります。

KSCL::CVirtualAlloc::CVirtualAlloc const HWND    p_hWnd throw ( CWin32ErrorException )
 

・コンストラクタ。.

 初期化します。
 メモリは指定されたウィンドウのプロセス内に作成します。

引数:
p_hWnd  メモリを確保したいプロセスが持つウィンドウ。たとえばデスクトップのウィンドウハンドルとか。

KSCL::CVirtualAlloc::~CVirtualAlloc   throw () [virtual]
 

・デストラクタ。.

 後始末をします。確保したメモリ領域を開放します。

KSCL::CVirtualAlloc::CVirtualAlloc const CVirtualAlloc &    p_rcVirtualAlloc throw () [private]
 

・コピーコンストラクタ。.

 private にして封印してあります。

引数:
p_rcVirtualAlloc  右オペランド。


メンバ関数の解説

void * KSCL::CVirtualAlloc::Alloc const DWORD    p_dwSize throw ()
 

・メモリを確保します。.

 指定したサイズのメモリ領域を確保します。
 どこに確保するかは、どのコンストラクタを呼び出したかに依ります。

引数:
p_dwSize  確保するサイズ。

void KSCL::CVirtualAlloc::Free   throw ( CWin32ErrorException )
 

・解放します。.

 Alloc() で確保したメモリ領域を開放します。
 まだ確保していない場合には何もしません。

HANDLE KSCL::CVirtualAlloc::GetProcessHandle   const throw ()
 

・プロセスハンドルを取得します。.

戻り値:
メンバ変数として持っているポインタ。

void * KSCL::CVirtualAlloc::GetPointer   throw ()
 

・ポインタを取得します。.

 Alloc() の戻り値と同じ値を返します。
 まだ呼んでない場合、もしくは Free() を呼んだ後の場合には NULL が返ります。
 非 const なので書き込み先として渡してください。

戻り値:
メンバ変数として持っているポインタ。非 const です。

const void * KSCL::CVirtualAlloc::GetPointer   const throw ()
 

・ポインタを取得します。.

 Alloc() の戻り値と同じ値を返します。
 まだ呼んでない場合、もしくは Free() を呼んだ後の場合には NULL が返ります。
 const なので読み込み先として渡してください。

戻り値:
メンバ変数として持っているポインタ。 const です。

DWORD KSCL::CVirtualAlloc::GetSize   const throw ()
 

・サイズを取得します。.

 Alloc() の引数と同じ値を返します。
 まだ呼んでない場合、もしくは Free() を呼んだ後の場合には 0 が返ります。

戻り値:
確保してるサイズ。

CVirtualAlloc & KSCL::CVirtualAlloc::operator<< const CVirtualAlloc &    p_rcVirtualAlloc throw ( CWin32ErrorException )
 

・コピーします。.

 右オペランドから左オペランドへと、メモリ領域上のデータをコピーします。
 右オペランド、左オペランドが「自プロセスか他プロセスか」は問いません。
 まず左が他プロセスとみなしてコピーし、失敗したら右が他プロセスと見なしてコピーします。
 ただし、両方とも自プロセス、もしくは両方とも他プロセスの場合の動作は保証しません。

戻り値:
左オペランドへの参照。
引数:
p_rcVirtualAlloc  右オペランド。


メンバの解説

CProcessHandle KSCL::CVirtualAlloc::m_cProcessHandle [private]
 

他のプロセスのメモリ領域を使用する場合の、その他のプロセスのハンドル。.

void* KSCL::CVirtualAlloc::m_pvData [private]
 

確保したメモリ領域を指すポインタ。.

DWORD KSCL::CVirtualAlloc::m_dwSize [private]
 

確保したメモリ領域のサイズ。.


KSCL(KAB-studioClassLibrary)に対してThu Jun 12 09:55:33 2003に生成されました。 doxygen1.2.15