ドライブ管理.
[詳解]
#include <TnbImageMastering.h>
ドライブ管理.
一つの CD/DVD/BD ドライブを管理します。
挿入されているディスクに対しての書き込みや、ディスクの種類や状態の確認、トレイのオープンクローズをサポートします。
- 覚え書き
- 書き込みや消去の進捗は、 IListener で得ることが出来ます。また、書き込みの停止も、 IListener を使います。
-
本インスタンスは CImageMastering::CreateDrive() を使って、生成します。
- 必要ファイル
- TnbImageMastering.h
- 日付
- 09/08/08 新規作成
TnbImageMastering.h の 1105 行目に定義があります。
◆ CTypeVector
◆ CDrive()
◆ Burn() [1/2]
bool Burn |
( |
const CDiscImage & |
discImage, |
|
|
bool |
isClose = true |
|
) |
| |
[書込] 書き込み.
指定の ディスクイメージ管理クラスの内容をディスクに書き込みます。
- 覚え書き
- 追記の場合、マルチセッションとして処理します。
-
書き込みが完了するか、エラーが発生するまで、メソッドはリターンしません。 書き込みの進捗は、 IListener で得られます。
- 引数
-
discImage | ディスクイメージ管理. |
isClose | true なら書き込み後、クローズします。 false ならクローズしません(追記可能になります)。 |
- 戻り値
-
TnbImageMastering.h の 1301 行目に定義があります。
◆ Burn() [2/2]
bool Burn |
( |
LPCTSTR |
lpszFileName, |
|
|
bool |
isClose = true |
|
) |
| |
[書込] イメージファイル書き込み.
指定のディスクイメージファイルをディスクに書き込みます。
- 覚え書き
- 書き込みが完了するか、エラーが発生するまで、メソッドはリターンしません。 書き込みの進捗は、 IListener で得られます。
- 引数
-
lpszFileName | イメージファイル名。 |
isClose | true なら書き込み後、クローズします。 false ならクローズしません(追記可能になります)。 |
- 戻り値
-
TnbImageMastering.h の 1356 行目に定義があります。
◆ CheckRes()
bool CheckRes |
( |
HRESULT |
hr | ) |
const |
|
protectedinherited |
[設定] リザルトチェック.
リザルトコードをチェックし、記憶します。
- 引数
-
- 戻り値
-
true | リザルトコードが「成功」だ |
false | リザルトコードが「失敗」だ |
TnbImageMastering.h の 420 行目に定義があります。
◆ CloseTray()
◆ CreateStreamOnFile()
static HRESULT CreateStreamOnFile |
( |
LPCTSTR |
lpszFile, |
|
|
DWORD |
grfMode, |
|
|
IStream ** |
ppstm |
|
) |
| |
|
staticinherited |
[作成] ファイルストリーム作成.
- 覚え書き
- ::SHCreateStreamOnFile() をコールしているだけです。
- 引数
-
[in] | lpszFile | ファイル名 |
[in] | grfMode | モード |
[out] | ppstm | ストリーム |
- 戻り値
- リザルト
TnbImageMastering.h の 391 行目に定義があります。
◆ EnumerationMountPath()
bool EnumerationMountPath |
( |
CStrVector & |
_mountPaths | ) |
const |
[取得] マウントパス取得.
このドライブがマウントされているパス一覧を返します。 通常、マウント場所は一箇所です( q:\ など)。
- 引数
-
[out] | _mountPaths | パス一覧が格納されます。 |
- 戻り値
-
TnbImageMastering.h の 1438 行目に定義があります。
◆ EnumerationSupportedDiscTypes()
bool EnumerationSupportedDiscTypes |
( |
CTypeVector & |
_types | ) |
const |
◆ EnumerationSupportWriteSpeeds()
bool EnumerationSupportWriteSpeeds |
( |
CWordVector & |
_speeds | ) |
const |
[取得] サポート書き込み速度一覧.
- 覚え書き
- ディスクがないと、失敗します。
- 引数
-
[out] | _speeds | スピード(sector/second)の配列が格納されます。 |
- 戻り値
-
TnbImageMastering.h の 1474 行目に定義があります。
◆ Erase()
bool Erase |
( |
bool |
isFull = false | ) |
|
[消去] 消去.
CD-RW, DVD±RW, BD-RE ディスクを初期化します。
- 覚え書き
- 消去が完了するか、エラーが発生するまで、メソッドはリターンしません。 消去の進捗は、 IListener で得られます。
- 引数
-
isFull | false を指定すると高速消去、 true なら標準消去します。 |
- 戻り値
-
TnbImageMastering.h の 1262 行目に定義があります。
◆ ExistDisc()
bool ExistDisc |
( |
DWORD |
time = 0 | ) |
const |
[確認] ディスク確認.
ディスクの有無を確認します。
- 覚え書き
- ディスクがない場合、指定時間待たせることも出来ます(その間、メソッドからリターンしません)。
- 引数
-
- 戻り値
-
TnbImageMastering.h の 1558 行目に定義があります。
◆ GetFreeSectorsOnDisc()
size_t GetFreeSectorsOnDisc |
( |
void |
| ) |
const |
◆ GetInformation()
◆ GetLastResult()
HRESULT GetLastResult |
( |
void |
| ) |
const |
|
inherited |
◆ GetLastResultString()
CStr GetLastResultString |
( |
void |
| ) |
const |
|
inherited |
◆ GetSectorSize()
size_t GetSectorSize |
( |
void |
| ) |
const |
◆ GetStatusOnDisc()
int GetStatusOnDisc |
( |
void |
| ) |
const |
[取得] ディスク状態取得.
- 戻り値
- ディスク状態。 IMAPI_FORMAT2_DATA_MEDIA_STATE の値と and をとることで、 状態がわかります。
- 例:
- ファイナライズしているかチェック.
int status = drv.GetStatusOnDisc();
@ IMAPI_FORMAT2_DATA_MEDIA_STATE_FINALIZED
ファイナライズ済み
TnbImageMastering.h の 1596 行目に定義があります。
◆ GetTotalSectorsOnDisc()
size_t GetTotalSectorsOnDisc |
( |
void |
| ) |
const |
[取得] ディスク全セクタ数取得.
- 覚え書き
- ディスクの全セクタ数を取得できます。
- 戻り値
-
0 | 失敗。エラーか、ディスクが未挿入。 |
1以上 | 成功。値はセクタ数。 |
TnbImageMastering.h の 1519 行目に定義があります。
◆ GetTypeOnDisc()
[取得] ディスク種類取得.
デバイスに入っているディスクの種類を取得できます。
- 戻り値
-
IMAPI_MEDIA_TYPE_UNKNOWN | ディスクが入っていません。 |
上記以外 | ディスク種類 |
TnbImageMastering.h の 1697 行目に定義があります。
◆ GetTypeStringOnDisc()
CStr GetTypeStringOnDisc |
( |
void |
| ) |
const |
[取得] ディスク種類名取得.
デバイスに入っているディスクの種類名を取得できます。
- 戻り値
-
empty | ディスクが入っていません。 |
empty以外 | ディスク種類名 |
TnbImageMastering.h の 1713 行目に定義があります。
◆ GetVolumeOnDisc()
CStr GetVolumeOnDisc |
( |
void |
| ) |
const |
◆ IsAppendableDisc()
bool IsAppendableDisc |
( |
void |
| ) |
const |
◆ IsBlankDisc()
bool IsBlankDisc |
( |
void |
| ) |
const |
◆ IsValid()
bool IsValid |
( |
void |
| ) |
const |
◆ OpenTray()
◆ operator->()
IDiscRecorder2 * operator-> |
( |
void |
| ) |
|
◆ ReadMultiSession()
bool ReadMultiSession |
( |
CDiscImage & |
_diskImage | ) |
const |
[取得] セッション情報取得.
指定のディスクイメージクラスに、セッション情報を読み込みます。 同時にボリューム名も読み込みます。
- 引数
-
[in,out] | _diskImage | ディスクイメージ. |
- 戻り値
-
TnbImageMastering.h の 1726 行目に定義があります。
◆ SetListener()
◆ SetWriteSpeed()
bool SetWriteSpeed |
( |
int |
speed = -1 , |
|
|
bool |
isPureCAV = false |
|
) |
| |
[設定] 速度設定.
- 引数
-
speed | スピード(sector/second)。-1 を指定したらデバイスの最速が指定されます。 |
isPureCAV | Requested 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. |
- 戻り値
-
TnbImageMastering.h の 1503 行目に定義があります。
◆ ToString()
static CStr ToString |
( |
HRESULT |
hr | ) |
|
|
staticinherited |