IMAP2 関係.
[詳解]
|
enum | IMAPI_FORMAT2_DATA_MEDIA_STATE {
IMAPI_FORMAT2_DATA_MEDIA_STATE_OVERWRITE_ONLY = 0x1
, IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK = 0x2
, IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE = 0x4
, IMAPI_FORMAT2_DATA_MEDIA_STATE_FINAL_SESSION = 0x8
,
IMAPI_FORMAT2_DATA_MEDIA_STATE_DAMAGED = 0x400
, IMAPI_FORMAT2_DATA_MEDIA_STATE_ERASE_REQUIRED = 0x800
, IMAPI_FORMAT2_DATA_MEDIA_STATE_NON_EMPTY_SESSION = 0x1000
, IMAPI_FORMAT2_DATA_MEDIA_STATE_WRITE_PROTECTED = 0x2000
,
IMAPI_FORMAT2_DATA_MEDIA_STATE_FINALIZED = 0x4000
, IMAPI_FORMAT2_DATA_MEDIA_STATE_UNSUPPORTED_MEDIA = 0x8000
} |
| ディスク状態. [詳解]
|
|
enum | IMAPI_FORMAT2_DATA_WRITE_ACTION {
IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA
, IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA
, IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE
, IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER
,
IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA
, IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION
, IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED
} |
| 書き込みアクション. [詳解]
|
|
enum | IMAPI_MEDIA_PHYSICAL_TYPE {
IMAPI_MEDIA_TYPE_UNKNOWN
, IMAPI_MEDIA_TYPE_CDROM
, IMAPI_MEDIA_TYPE_CDR
, IMAPI_MEDIA_TYPE_CDRW
,
IMAPI_MEDIA_TYPE_DVDROM
, IMAPI_MEDIA_TYPE_DVDRAM
, IMAPI_MEDIA_TYPE_DVDPLUSR
, IMAPI_MEDIA_TYPE_DVDPLUSRW
,
IMAPI_MEDIA_TYPE_DVDPLUSR_DUALLAYER
, IMAPI_MEDIA_TYPE_DVDDASHR
, IMAPI_MEDIA_TYPE_DVDDASHRW
, IMAPI_MEDIA_TYPE_DVDDASHR_DUALLAYER
,
IMAPI_MEDIA_TYPE_DISK
, IMAPI_MEDIA_TYPE_DVDPLUSRW_DUALLAYER
, IMAPI_MEDIA_TYPE_HDDVDROM
, IMAPI_MEDIA_TYPE_HDDVDR
,
IMAPI_MEDIA_TYPE_HDDVDRAM
, IMAPI_MEDIA_TYPE_BDROM
, IMAPI_MEDIA_TYPE_BDR
, IMAPI_MEDIA_TYPE_BDRE
} |
| ディスクタイプ. [詳解]
|
|
IMAP2 関係.
IMAPI2 (Image Mastering API Version 2)を使った、
CD-R/RW,DVD±R/RW の書込みをサポートするクラスが用意してあります。
\attention CoInitialize() ではなく OleInitialize() を使う必要があります
(プロジェクト作成時に、「オートメーション有り」にする、など)。
\par 例:
- ドライブ一覧
\code
CImageMastering im;
loop ( i, im.GetDriveCount() )
{
CImageMastering::CDrive drv = im.CreateDrive(i);
if ( drv.IsValid() )
{ // 有効なドライブ発見
CImageMastering::CDrive::TInformation info = drv.GetInformation();
TRACE1("ProductId = %s\n", info.productId);
TRACE1("ProductRevision = %s\n", info.productRevision);
TRACE1("VendorId = %s\n", info.vendorId);
TRACE1("VolumeName = %s\n", dev.GetVolumeOnDisc());
TRACE1("DiscType = %s\n", drv.GetTypeStringOnDisc());
TRACE1("DiscState = %04X\n", drv.GetStatusOnDisc());
}
}
\endcode
- フォルダ c:\\Temp 以下を ディスクの \\ABC 以下に書き込み、 d:\\data\\memo.txt をディスクの \\ABC\\001 に書き込む
\code
// CImageMastering::CDrive drv; // 有効なドライブ
if ( ! drv.IsBlankDisc() ) {
drv.Erase(); //ブランクでないので削除
}
CImageMastering::CDiscImage di;
di.AddSourceDirectory(_T("c:\\Temp"), _T("\\ABC"));
di.AddSourceFile(_T("d:\\data\\memo.txt"), _T("\\ABC\\001"));
di.SetVolumeName(_T("ボリューム")); //ボリューム名
drv.Burn(di, true); // 書いて、閉じる
\endcode
- クローズしていないディスクの \\ABC\\A.txt を削除する。
\code
// CImageMastering::CDrive drv; // 有効なドライブ
CImageMastering::CDiscImage di;
drv.ReadMultiSession(di); //セッション情報読み込む
di.RemoveFile(_T("\\ABC\\A.txt"));
drv.Burn(di, false); // 書く
\endcode
- クローズしていないディスクをクローズするだけ
\code
// CImageMastering::CDrive drv; // 有効なドライブ
CImageMastering::CDiscImage di;
di.SetVolumeName(_T("ボリューム")); //ボリューム名を変えるなら
drv.Burn(di, true); // 書いて、閉じる
\endcode
- 参照
- CImageMastering
◆ IMAPI_FORMAT2_DATA_MEDIA_STATE
ディスク状態.
- 参照
- TNB::CImageMastering::CDrive::GetStatusOnDisc()
列挙値 |
---|
IMAPI_FORMAT2_DATA_MEDIA_STATE_OVERWRITE_ONLY | 上書きのみ
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK | ブランク
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE | 追記可能
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_FINAL_SESSION | 最後のセクション
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_DAMAGED | ダメージ
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_ERASE_REQUIRED | 消去必要あり
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_NON_EMPTY_SESSION | セクション有り
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_WRITE_PROTECTED | 書き込み禁止
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_FINALIZED | ファイナライズ済み
|
IMAPI_FORMAT2_DATA_MEDIA_STATE_UNSUPPORTED_MEDIA | 未サポートディスク
|
TnbImageMastering.h の 2181 行目に定義があります。
◆ IMAPI_FORMAT2_DATA_WRITE_ACTION
書き込みアクション.
- 参照
- TNB::CImageMastering::CDrive::IListener::OnDriveWriteEvent()
列挙値 |
---|
IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA | ディスク確認中
|
IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA | ディスクフォーマット中
|
IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE | 初期化中
|
IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER | パワー調整中
|
IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA | データ書き込み中
|
IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION | ファイナライズ中
|
IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED | 完了
|
TnbImageMastering.h の 2166 行目に定義があります。
◆ IMAPI_MEDIA_PHYSICAL_TYPE
ディスクタイプ.
- 参照
- TNB::CImageMastering::CDrive::GetTypeOnDisc()
列挙値 |
---|
IMAPI_MEDIA_TYPE_UNKNOWN | 不明,
|
IMAPI_MEDIA_TYPE_CDROM | CD-ROM
|
IMAPI_MEDIA_TYPE_CDR | CD-R
|
IMAPI_MEDIA_TYPE_CDRW | CD-RW
|
IMAPI_MEDIA_TYPE_DVDROM | DVD-ROM
|
IMAPI_MEDIA_TYPE_DVDRAM | DVD-RAM
|
IMAPI_MEDIA_TYPE_DVDPLUSR | DVD+R
|
IMAPI_MEDIA_TYPE_DVDPLUSRW | DVD+RW
|
IMAPI_MEDIA_TYPE_DVDPLUSR_DUALLAYER | DVD+R DL
|
IMAPI_MEDIA_TYPE_DVDDASHR | DVD-R
|
IMAPI_MEDIA_TYPE_DVDDASHRW | DVD-RW
|
IMAPI_MEDIA_TYPE_DVDDASHR_DUALLAYER | DVD-R DL
|
IMAPI_MEDIA_TYPE_DISK | DISK
|
IMAPI_MEDIA_TYPE_DVDPLUSRW_DUALLAYER | DVD+RW DL
|
IMAPI_MEDIA_TYPE_HDDVDROM | HD DVD-ROM
|
IMAPI_MEDIA_TYPE_HDDVDR | HD DVD-R
|
IMAPI_MEDIA_TYPE_HDDVDRAM | HD DVD-RAM
|
IMAPI_MEDIA_TYPE_BDROM | BD-ROM
|
IMAPI_MEDIA_TYPE_BDR | BD-R
|
IMAPI_MEDIA_TYPE_BDRE | BD-RE
|
TnbImageMastering.h の 2199 行目に定義があります。