TNB Library
クラス | 公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CImageMastering::CDiscImage クラス

ディスクイメージ管理. [詳解]

#include <TnbImageMastering.h>

+ CImageMastering::CDiscImage の継承関係図

クラス

struct  IListener
 ディスクイメージ管理リスナー. [詳解]
 
struct  TFileItem
 ファイルアイテム情報. [詳解]
 

公開メンバ関数

bool AddSourceDirectory (LPCTSTR lpszPath, LPCTSTR lpszImagePath=NULL)
 [追加] ディレクトリ追加. [詳解]
 
bool AddSourceFile (LPCTSTR lpszName, LPCTSTR lpszImagePath=NULL)
 [追加] ファイル追加. [詳解]
 
 CDiscImage (void)
 コンストラクタ [詳解]
 
bool CreateImageFile (LPCTSTR lpszFileName, IMAPI_MEDIA_PHYSICAL_TYPE type=IMAPI_MEDIA_TYPE_CDR)
 [作成] イメージファイル作成. [詳解]
 
IStream * CreateImageSteam (IMAPI_MEDIA_PHYSICAL_TYPE type=IMAPI_MEDIA_TYPE_CDR) const
 [作成] イメージストリーム作成. [詳解]
 
bool EnumerationFiles (CVectorT< TFileItem > &_items) const
 [取得] ファイル一覧. [詳解]
 
size_t GetDirectoryCount (void) const
 [取得] 登録済みディレクトリ数取得 [詳解]
 
size_t GetFileCount (void) const
 [取得] 登録済みファイル数取得. [詳解]
 
HRESULT GetLastResult (void) const
 [取得] リザルトコード取得. [詳解]
 
CStr GetLastResultString (void) const
 [取得] リザルト文字列取得. [詳解]
 
size_t GetSectorsCount (void) const
 [取得] 登録済みセクタ数取得. [詳解]
 
size_t GetSectorSize (bool isXA=false) const
 [取得] セクタサイズ取得. [詳解]
 
CStr GetVolumeName (void) const
 [取得] ボリューム名取得. [詳解]
 
bool IsValid (void) const
 [確認] 有効確認. [詳解]
 
IFileSystemImage * operator-> (void) const
 [取得] FileSystemImageインターフェース取得. [詳解]
 
bool RemoveDirectory (LPCTSTR lpszImagePath)
 [削除] ディレクトリ削除. [詳解]
 
bool RemoveFile (LPCTSTR lpszImageName)
 [削除] ファイル削除. [詳解]
 
bool Reset (void)
 [設定] 初期化. [詳解]
 
bool SetBootImage (LPCTSTR lpszBootFileName)
 [設定] Bootイメージ設定. [詳解]
 
void SetJolietSystem (bool isEnable)
 [設定] Jolietモード設定. [詳解]
 
void SetListener (IListener *P)
 [設定]リスナー登録. [詳解]
 
bool SetVolumeName (LPCTSTR lpszVolume)
 [設定] ボリューム名設定. [詳解]
 
bool SetWorkingDirestory (LPCTSTR lpszPath)
 [設定] ワークディレクトリ設定. [詳解]
 
 ~CDiscImage (void)
 デストラクタ [詳解]
 

静的公開メンバ関数

static HRESULT CreateStreamOnFile (LPCTSTR lpszFile, DWORD grfMode, IStream **ppstm)
 [作成] ファイルストリーム作成. [詳解]
 
static CStr ToString (HRESULT hr)
 [変換] リザルト文字列変換. [詳解]
 

限定公開メンバ関数

bool CheckRes (HRESULT hr) const
 [設定] リザルトチェック. [詳解]
 

詳解

ディスクイメージ管理.

ディスク上のファイル配置を管理するクラスです。
CDrive クラスでディスクにファイルを書き込むために、
まず、このクラスにファイルを配置します。
覚え書き
CDrive::ReadMultiSession() を使い、 このクラスにマルチセッション情報を読み込み、操作することも出来ます。
必要ファイル
TnbImageMastering.h
日付
09/08/08 新規作成
09/08/20 リスナー追加。イメージファイル作成をサポート

TnbImageMastering.h491 行目に定義があります。

構築子と解体子

◆ CDiscImage()

CDiscImage ( void  )

コンストラクタ

TnbImageMastering.h523 行目に定義があります。

◆ ~CDiscImage()

~CDiscImage ( void  )

デストラクタ

TnbImageMastering.h529 行目に定義があります。

関数詳解

◆ AddSourceDirectory()

bool AddSourceDirectory ( LPCTSTR  lpszPath,
LPCTSTR  lpszImagePath = NULL 
)

[追加] ディレクトリ追加.

書き込むファイルをディレクトリごと登録します。

覚え書き
指定したディレクトリ自体は登録されません。その中身が追加対象です。
c:\temp\foo1.txt
c:\temp\foo2.txt
がある場合、 AddSourceDirectory("c:\\temp", "\\xyz"); とすると、ディスクには
\xyz\foo1.txt
\xyz\foo2.txt
と書かれる。
bool AddSourceDirectory(LPCTSTR lpszPath, LPCTSTR lpszImagePath=NULL)
[追加] ディレクトリ追加.
引数
lpszPath追加する PC のディレクトリ名。
lpszImagePathディスク上のディレクトリ。省略するとディスクのルートが指定されます。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h708 行目に定義があります。

◆ AddSourceFile()

bool AddSourceFile ( LPCTSTR  lpszName,
LPCTSTR  lpszImagePath = NULL 
)

[追加] ファイル追加.

書き込むファイルを登録します。

引数
lpszName登録する PC のファイル名。
lpszImagePathディスク上のディレクトリ。省略するとディスクのルートが指定されます。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h739 行目に定義があります。

◆ CheckRes()

bool CheckRes ( HRESULT  hr) const
protectedinherited

[設定] リザルトチェック.

リザルトコードをチェックし、記憶します。

引数
hrリザルトコード
戻り値
trueリザルトコードが「成功」だ
falseリザルトコードが「失敗」だ

TnbImageMastering.h420 行目に定義があります。

◆ CreateImageFile()

bool CreateImageFile ( LPCTSTR  lpszFileName,
IMAPI_MEDIA_PHYSICAL_TYPE  type = IMAPI_MEDIA_TYPE_CDR 
)

[作成] イメージファイル作成.

本インスタンスに登録されているファイル、ディレクトリから、イメージファイルを作成します。

引数
lpszFileName作成イメージファイル名。
type対象ディスクタイプ。 CD,CDR,CDRWを指定すると ISO9660(Joliet) 、それ以外は UDF システムでイメージファイルが作成されます。
覚え書き
CD,CDR,CDRW の場合、 SetJolietSystem() により、作成されるイメージが異なります。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h873 行目に定義があります。

◆ CreateImageSteam()

IStream * CreateImageSteam ( IMAPI_MEDIA_PHYSICAL_TYPE  type = IMAPI_MEDIA_TYPE_CDR) const

[作成] イメージストリーム作成.

本インスタンスに登録されているファイル、ディレクトリから、イメージストリームを作成します。

引数
type対象ディスクタイプ。 CD,CDR,CDRWを指定すると ISO9660(Joliet) 、それ以外は UDF システムでイメージファイルが作成されます。
覚え書き
CD,CDR,CDRW の場合、 SetJolietSystem() により、作成されるイメージが異なります。
戻り値
NULL失敗。詳細は GetLastResult() / GetLastResultString() を使います。
NULL以外成功。使用後は Release() する必要があります。

TnbImageMastering.h908 行目に定義があります。

◆ CreateStreamOnFile()

static HRESULT CreateStreamOnFile ( LPCTSTR  lpszFile,
DWORD  grfMode,
IStream **  ppstm 
)
staticinherited

[作成] ファイルストリーム作成.

覚え書き
::SHCreateStreamOnFile() をコールしているだけです。
引数
[in]lpszFileファイル名
[in]grfModeモード
[out]ppstmストリーム
戻り値
リザルト

TnbImageMastering.h391 行目に定義があります。

◆ EnumerationFiles()

bool EnumerationFiles ( CVectorT< TFileItem > &  _items) const

[取得] ファイル一覧.

本インスタンスに登録されているファイル、ディレクトリの一覧を返します。

覚え書き
CDrive::ReadMultiSession() , AddSourceFile() , AddSourceDirectory() , RemoveDirectory() , RemoveFile() による操作の結果がわかります。
引数
[out]_itemsファイルアイテム一覧が格納されます。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h859 行目に定義があります。

◆ GetDirectoryCount()

size_t GetDirectoryCount ( void  ) const

[取得] 登録済みディレクトリ数取得

覚え書き
AddSourceDirectory() , AddSourceFile() で登録したディレクトリ数が返ります。
戻り値
ディレクトリ数

TnbImageMastering.h658 行目に定義があります。

◆ GetFileCount()

size_t GetFileCount ( void  ) const

[取得] 登録済みファイル数取得.

覚え書き
AddSourceDirectory() , AddSourceFile() で登録したファイル数が返ります。
戻り値
ファイル数

TnbImageMastering.h647 行目に定義があります。

◆ GetLastResult()

HRESULT GetLastResult ( void  ) const
inherited

[取得] リザルトコード取得.

戻り値
リザルトコード.

TnbImageMastering.h326 行目に定義があります。

◆ GetLastResultString()

CStr GetLastResultString ( void  ) const
inherited

[取得] リザルト文字列取得.

戻り値
リザルト文字列.

TnbImageMastering.h335 行目に定義があります。

◆ GetSectorsCount()

size_t GetSectorsCount ( void  ) const

[取得] 登録済みセクタ数取得.

覚え書き
AddSourceDirectory() , AddSourceFile() で登録した情報を書き込むのに、 必要なセクタ数が返ります。
戻り値
セクタ数

TnbImageMastering.h636 行目に定義があります。

◆ GetSectorSize()

size_t GetSectorSize ( bool  isXA = false) const

[取得] セクタサイズ取得.

覚え書き
1セクタのバイト数を返します。
引数
isXAtrue なら CD MODE2 XA の場合のセクタサイズを返します。
戻り値
1セクタのバイト数

TnbImageMastering.h625 行目に定義があります。

◆ GetVolumeName()

CStr GetVolumeName ( void  ) const

[取得] ボリューム名取得.

戻り値
ボリューム名

TnbImageMastering.h668 行目に定義があります。

◆ IsValid()

bool IsValid ( void  ) const

[確認] 有効確認.

本インスタンスが有効か、確認できます。

覚え書き
無効な場合、メソッドは、すべて失敗します。
戻り値
true有効。
false無効。

TnbImageMastering.h546 行目に定義があります。

◆ operator->()

IFileSystemImage * operator-> ( void  ) const

[取得] FileSystemImageインターフェース取得.

戻り値
FileSystemImageインターフェース

TnbImageMastering.h555 行目に定義があります。

◆ RemoveDirectory()

bool RemoveDirectory ( LPCTSTR  lpszImagePath)

[削除] ディレクトリ削除.

指定したディレクトリ以下を登録情報から削除します。

覚え書き
CDrive::ReadMultiSession() で以前のセッションを読み込んでから、 これを使うことで、ディスク上のファイルを削除することが出来ます。
引数
lpszImagePath削除するディスク上のディレクトリ。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h770 行目に定義があります。

◆ RemoveFile()

bool RemoveFile ( LPCTSTR  lpszImageName)

[削除] ファイル削除.

指定したファイルを登録情報から削除します。

覚え書き
CDrive::ReadMultiSession() で以前のセッションを読み込んでから、 これを使うことで、ディスク上のファイルを削除することが出来ます。
引数
lpszImageName削除するディスク上のファイル名。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h785 行目に定義があります。

◆ Reset()

bool Reset ( void  )

[設定] 初期化.

登録したファイルなどをクリアします。

戻り値
true成功。
false失敗。

TnbImageMastering.h566 行目に定義があります。

◆ SetBootImage()

bool SetBootImage ( LPCTSTR  lpszBootFileName)

[設定] Bootイメージ設定.

ブータブル CD を作成する際、Boot イメージを指定します。

引数
lpszBootFileNameブートイメージファイル名
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h798 行目に定義があります。

◆ SetJolietSystem()

void SetJolietSystem ( bool  isEnable)

[設定] Jolietモード設定.

覚え書き
CD-R/RW に書く場合、Joliet 拡張で記録するか、指定できます。 デフォルトでは Joliet 拡張で記録します。
引数
isEnablefalse を指定すると、 ISO9660 で記録します。 true を指定すると、 Joliet で記録します。

TnbImageMastering.h594 行目に定義があります。

◆ SetListener()

void SetListener ( IListener P)

[設定]リスナー登録.

覚え書き
リスナーを追加することで、ファイル追加進捗を得ることが出来ます。
引数
Pリスナー。 NULL を指定することで、登録を解除できます。

TnbImageMastering.h604 行目に定義があります。

◆ SetVolumeName()

bool SetVolumeName ( LPCTSTR  lpszVolume)

[設定] ボリューム名設定.

引数
lpszVolumeボリューム名
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h685 行目に定義があります。

◆ SetWorkingDirestory()

bool SetWorkingDirestory ( LPCTSTR  lpszPath)

[設定] ワークディレクトリ設定.

通常、システムのテンポラリフォルダがワークディレクトリとして使用されます。 本メソッドを使うことで、変更することが出来ます。

引数
lpszPathワークディレクトリ
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

TnbImageMastering.h834 行目に定義があります。

◆ ToString()

static CStr ToString ( HRESULT  hr)
staticinherited

[変換] リザルト文字列変換.

リザルトコードを文字列に変換

引数
hrリザルトコード
戻り値
文字列

TnbImageMastering.h346 行目に定義があります。