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

ドライブ管理. [詳解]

#include <TnbImageMastering.h>

+ CImageMastering::CDrive の継承関係図

クラス

struct  IListener
 ドライブ管理リスナー. [詳解]
 
struct  TInformation
 ドライブ情報. [詳解]
 

公開型

typedef CVectorT< IMAPI_MEDIA_PHYSICAL_TYPECTypeVector
 ディスクタイプ配列型 [詳解]
 

公開メンバ関数

bool Burn (const CDiscImage &discImage, bool isClose=true)
 [書込] 書き込み. [詳解]
 
bool Burn (LPCTSTR lpszFileName, bool isClose=true)
 [書込] イメージファイル書き込み. [詳解]
 
 CDrive (CDiscRecorderHandle dr, LPCTSTR name)
 コンストラクタ. [詳解]
 
bool CloseTray (void)
 [処理] トレイクローズ. [詳解]
 
bool EnumerationMountPath (CStrVector &_mountPaths) const
 [取得] マウントパス取得. [詳解]
 
bool EnumerationSupportedDiscTypes (CTypeVector &_types) const
 [取得] 対応ディスクタイプ一覧取得. [詳解]
 
bool EnumerationSupportWriteSpeeds (CWordVector &_speeds) const
 [取得] サポート書き込み速度一覧. [詳解]
 
bool Erase (bool isFull=false)
 [消去] 消去. [詳解]
 
bool ExistDisc (DWORD time=0) const
 [確認] ディスク確認. [詳解]
 
size_t GetFreeSectorsOnDisc (void) const
 [取得] ディスク空きセクタ数取得. [詳解]
 
TInformation GetInformation (void) const
 [取得] ドライブ情報情報. [詳解]
 
HRESULT GetLastResult (void) const
 [取得] リザルトコード取得. [詳解]
 
CStr GetLastResultString (void) const
 [取得] リザルト文字列取得. [詳解]
 
size_t GetSectorSize (void) const
 [取得] セクタサイズ取得. [詳解]
 
int GetStatusOnDisc (void) const
 [取得] ディスク状態取得. [詳解]
 
size_t GetTotalSectorsOnDisc (void) const
 [取得] ディスク全セクタ数取得. [詳解]
 
IMAPI_MEDIA_PHYSICAL_TYPE GetTypeOnDisc (void) const
 [取得] ディスク種類取得. [詳解]
 
CStr GetTypeStringOnDisc (void) const
 [取得] ディスク種類名取得. [詳解]
 
CStr GetVolumeOnDisc (void) const
 [取得] ディスクボリューム名取得. [詳解]
 
bool IsAppendableDisc (void) const
 [確認] 追記可能ディスク確認. [詳解]
 
bool IsBlankDisc (void) const
 [確認] ブランクディスク確認. [詳解]
 
bool IsValid (void) const
 [確認] 有効確認. [詳解]
 
bool OpenTray (void)
 [処理] トレイオープン. [詳解]
 
IDiscRecorder2 * operator-> (void)
 [取得] IDiscRecorder2インターフェース取得. [詳解]
 
bool ReadMultiSession (CDiscImage &_diskImage) const
 [取得] セッション情報取得. [詳解]
 
void SetListener (IListener *pListener)
 [設定] リスナー設定. [詳解]
 
bool SetWriteSpeed (int speed=-1, bool isPureCAV=false)
 [設定] 速度設定. [詳解]
 

静的公開メンバ関数

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

限定公開メンバ関数

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

詳解

ドライブ管理.

一つの CD/DVD/BD ドライブを管理します。

挿入されているディスクに対しての書き込みや、ディスクの種類や状態の確認、トレイのオープンクローズをサポートします。
覚え書き
書き込みや消去の進捗は、 IListener で得ることが出来ます。また、書き込みの停止も、 IListener を使います。
本インスタンスは CImageMastering::CreateDrive() を使って、生成します。
必要ファイル
TnbImageMastering.h
日付
09/08/08 新規作成

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

型定義メンバ詳解

◆ CTypeVector

ディスクタイプ配列型

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

構築子と解体子

◆ CDrive()

CDrive ( CDiscRecorderHandle  dr,
LPCTSTR  name 
)

コンストラクタ.

覚え書き
正しい引数を指定しないと、無効なインスタンスになります。
引数
drDiscRecorder
nameドライブ名

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

関数詳解

◆ Burn() [1/2]

bool Burn ( const CDiscImage discImage,
bool  isClose = true 
)

[書込] 書き込み.

指定の ディスクイメージ管理クラスの内容をディスクに書き込みます。

覚え書き
追記の場合、マルチセッションとして処理します。
書き込みが完了するか、エラーが発生するまで、メソッドはリターンしません。   書き込みの進捗は、 IListener で得られます。
引数
discImageディスクイメージ管理.
isClosetrue なら書き込み後、クローズします。 false ならクローズしません(追記可能になります)。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ Burn() [2/2]

bool Burn ( LPCTSTR  lpszFileName,
bool  isClose = true 
)

[書込] イメージファイル書き込み.

指定のディスクイメージファイルをディスクに書き込みます。

覚え書き
書き込みが完了するか、エラーが発生するまで、メソッドはリターンしません。   書き込みの進捗は、 IListener で得られます。
引数
lpszFileNameイメージファイル名。
isClosetrue なら書き込み後、クローズします。 false ならクローズしません(追記可能になります)。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ CheckRes()

bool CheckRes ( HRESULT  hr) const
protectedinherited

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

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

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

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

◆ CloseTray()

bool CloseTray ( void  )

[処理] トレイクローズ.

覚え書き
ドライブによっては、機能しません。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ CreateStreamOnFile()

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

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

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

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

◆ EnumerationMountPath()

bool EnumerationMountPath ( CStrVector _mountPaths) const

[取得] マウントパス取得.

このドライブがマウントされているパス一覧を返します。 通常、マウント場所は一箇所です( q:\ など)。

引数
[out]_mountPathsパス一覧が格納されます。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ EnumerationSupportedDiscTypes()

bool EnumerationSupportedDiscTypes ( CTypeVector _types) const

[取得] 対応ディスクタイプ一覧取得.

引数
[out]_types対応ディスクタイプの配列が格納されます。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ EnumerationSupportWriteSpeeds()

bool EnumerationSupportWriteSpeeds ( CWordVector _speeds) const

[取得] サポート書き込み速度一覧.

覚え書き
ディスクがないと、失敗します。
引数
[out]_speedsスピード(sector/second)の配列が格納されます。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ Erase()

bool Erase ( bool  isFull = false)

[消去] 消去.

CD-RW, DVD±RW, BD-RE ディスクを初期化します。

覚え書き
消去が完了するか、エラーが発生するまで、メソッドはリターンしません。   消去の進捗は、 IListener で得られます。
引数
isFullfalse を指定すると高速消去、 true なら標準消去します。
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ ExistDisc()

bool ExistDisc ( DWORD  time = 0) const

[確認] ディスク確認.

ディスクの有無を確認します。

覚え書き
ディスクがない場合、指定時間待たせることも出来ます(その間、メソッドからリターンしません)。
引数
timeディスク無い時の待ち時間(ms)
戻り値
trueディスク有り。
falseなし。

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

◆ GetFreeSectorsOnDisc()

size_t GetFreeSectorsOnDisc ( void  ) const

[取得] ディスク空きセクタ数取得.

覚え書き
ディスクの空きセクタ数を取得できます。
戻り値
空きセクタ数。

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

◆ GetInformation()

TInformation GetInformation ( void  ) const

[取得] ドライブ情報情報.

戻り値
ドライブ情報.

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

◆ GetLastResult()

HRESULT GetLastResult ( void  ) const
inherited

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

戻り値
リザルトコード.

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

◆ GetLastResultString()

CStr GetLastResultString ( void  ) const
inherited

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

戻り値
リザルト文字列.

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

◆ GetSectorSize()

size_t GetSectorSize ( void  ) const

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

覚え書き
1セクタのバイト数を返します。
戻り値
1セクタのバイト数

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

◆ GetStatusOnDisc()

int GetStatusOnDisc ( void  ) const

[取得] ディスク状態取得.

戻り値
ディスク状態。 IMAPI_FORMAT2_DATA_MEDIA_STATE の値と and をとることで、 状態がわかります。
例:
ファイナライズしているかチェック.
// CDrive drv;
int status = drv.GetStatusOnDisc();
bool isFinalized = (status & IMAPI_FORMAT2_DATA_MEDIA_STATE_FINALIZED) != 0);
@ IMAPI_FORMAT2_DATA_MEDIA_STATE_FINALIZED
ファイナライズ済み

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

◆ GetTotalSectorsOnDisc()

size_t GetTotalSectorsOnDisc ( void  ) const

[取得] ディスク全セクタ数取得.

覚え書き
ディスクの全セクタ数を取得できます。
戻り値
0失敗。エラーか、ディスクが未挿入。
1以上成功。値はセクタ数。

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

◆ GetTypeOnDisc()

IMAPI_MEDIA_PHYSICAL_TYPE GetTypeOnDisc ( void  ) const

[取得] ディスク種類取得.

デバイスに入っているディスクの種類を取得できます。

戻り値
IMAPI_MEDIA_TYPE_UNKNOWNディスクが入っていません。
上記以外ディスク種類

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

◆ GetTypeStringOnDisc()

CStr GetTypeStringOnDisc ( void  ) const

[取得] ディスク種類名取得.

デバイスに入っているディスクの種類名を取得できます。

戻り値
emptyディスクが入っていません。
empty以外ディスク種類名

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

◆ GetVolumeOnDisc()

CStr GetVolumeOnDisc ( void  ) const

[取得] ディスクボリューム名取得.

戻り値
ディスクボリューム名取得。ディスクがないと Empty 状態が返ります。

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

◆ IsAppendableDisc()

bool IsAppendableDisc ( void  ) const

[確認] 追記可能ディスク確認.

戻り値
true追記可能なディスク。
false不可能。

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

◆ IsBlankDisc()

bool IsBlankDisc ( void  ) const

[確認] ブランクディスク確認.

戻り値
trueブランクディスク。
falseディスク無しか、データのあるディスク。

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

◆ IsValid()

bool IsValid ( void  ) const

[確認] 有効確認.

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

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

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

◆ OpenTray()

bool OpenTray ( void  )

[処理] トレイオープン.

戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ operator->()

IDiscRecorder2 * operator-> ( void  )

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

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

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

◆ ReadMultiSession()

bool ReadMultiSession ( CDiscImage _diskImage) const

[取得] セッション情報取得.

指定のディスクイメージクラスに、セッション情報を読み込みます。 同時にボリューム名も読み込みます。

引数
[in,out]_diskImageディスクイメージ.
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ SetListener()

void SetListener ( IListener pListener)

[設定] リスナー設定.

引数
pListenerリスナー

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

◆ SetWriteSpeed()

bool SetWriteSpeed ( int  speed = -1,
bool  isPureCAV = false 
)

[設定] 速度設定.

引数
speedスピード(sector/second)。-1 を指定したらデバイスの最速が指定されます。
isPureCAVRequested rotational-speed control type. Set to true to request constant angular velocity (CAV) rotational-speed control type. Set to false to use another rotational-speed control type that the recorder supports. The default is false.
戻り値
true成功。
false失敗。詳細は GetLastResult() / GetLastResultString() を使います。

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

◆ ToString()

static CStr ToString ( HRESULT  hr)
staticinherited

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

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

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

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