IDiscFormat2RawCD::WriteMedia 方法 (imapi2.h)

使用 MSF 95:00:00 作為起始位址,將 DAO-96 原始影像寫入空白媒體。

語法

HRESULT WriteMedia(
  [in] IStream *data
);

參數

[in] data

要寫入之資料流程的 IStream 介面。

傳回值

S_OK會在成功時傳回,但可能會因為實作而傳回其他成功碼。 下列錯誤碼通常會在作業失敗時傳回,但不代表唯一可能的錯誤值:

傳回碼 描述
E_POINTER
指標無效。

值:0x80004003

E_IMAPI_DF2RAW_STREAM_NOT_SUPPORTED
提供的音訊資料流程無效。

值:0xC0AA060D

E_IMAPI_DF2RAW_MEDIA_IS_NOT_PREPARED
只有在媒體已「備妥」時,要求的作業才有效。

值:0xC0AA0602

E_IMAPI_DF2RAW_WRITE_IN_PROGRESS
目前有寫入作業正在進行中。

值:0xC0AA0600

E_IMAPI_DF2RAW_MEDIA_IS_NOT_BLANK
僅支援空白 CD-R/RW 媒體。

值:0xC0AA0606

E_IMAPI_DF2RAW_STREAM_LEADIN_TOO_SHORT
資料流程在目前媒體的潛在客戶中未包含足夠的磁區數目。

值:0xC0AA060F

E_INVALIDARG
一或多個引數無效。

值:0x80070057

E_IMAPI_DF2RAW_NOT_ENOUGH_SPACE
媒體上沒有足夠的空間可新增提供的會話。

值:0xC0AA0609

E_FAIL
未指定的失敗。

值:0x80004005

E_OUTOFMEMORY
無法配置所需的記憶體。

值:0x8007000E

E_IMAPI_RECORDER_COMMAND_TIMEOUT
裝置無法在逾時期間內接受命令。 這可能是因為裝置進入不一致的狀態而造成,或者可能需要增加命令的逾時值。

值:0xC0AA020D

E_IMAPI_RECORDER_INVALID_RESPONSE_FROM_DEVICE
裝置回報命令的非預期或無效資料。

值:0xC0AA02FF

E_IMAPI_RECORDER_MEDIA_UPSIDE_DOWN
媒體會向下插入。

值:0xC0AA0204

E_IMAPI_RECORDER_MEDIA_BECOMING_READY
磁片磁碟機回報它正在準備好。 請稍後再試一次要求。

值:0xC0AA0205

E_IMAPI_RECORDER_MEDIA_NO_MEDIA
裝置中沒有媒體。

值:0xC0AA0202

E_IMAPI_RECORDER_MEDIA_FORMAT_IN_PROGRESS
媒體目前正在格式化。 請先等候格式完成,再嘗試使用媒體。

值:0xC0AA0206

E_IMAPI_RECORDER_MEDIA_BUSY
磁片磁碟機回報正在執行長時間執行的作業,例如完成寫入。 磁片磁碟機可能長時間無法使用。

值:0xC0AA0207

E_IMAPI_LOSS_OF_STREAMING
寫入失敗,因為磁片磁碟機未快速收到足以繼續寫入的資料。 將來源資料移至本機電腦、減少寫入速度,或啟用 [緩衝區不足] 設定可能會解決此問題。

值:0xC0AA0300

E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE
媒體不相容或未知的實體格式。

值:0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
DVD 結構不存在。 這可能是因為使用的磁片磁碟機/媒體不相容所造成。

值:0xC0AA020E

E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE
裝置回報要求的模式頁面 (,且類型) 不存在。

值:0xC0AA0201

E_IMAPI_RECORDER_INVALID_MODE_PARAMETERS
磁片磁碟機報告不支援 MODE SELECT 命令在模式頁面中提供的參數組合。

值:0xC0AA0208

E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED
磁片磁碟機回報媒體受到寫入保護。

值:0xC0AA0209

E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH
媒體的速度與裝置不相容。 這可能是因為使用比裝置支援的速度範圍還要高或較低的速度媒體所造成。

值:0xC0AA020F

HRESULT_FROM_WIN32 (ERROR_INVALID_HANDLE)
指定的控制碼無效。

值:6

HRESULT_FROM_WIN32 (ERROR_DEV_NOT_EXIST)
指定的網路資源或裝置已無法使用。

值:55

E_IMAPI_RECORDER_LOCKED
上次作業期間與此錄製器相關聯的裝置已獨佔鎖定,導致此作業失敗。

值:0xC0AA0210

E_IMAPI_REQUEST_CANCELLED
已取消要求。

值:0xC0AA0002

備註

呼叫此方法之前,您必須呼叫 IDiscFormat2RawCD::p ut_RecorderIDiscFormat2RawCD::P repareMedia 方法。

如果預設值不適合您的應用程式,您也應該考慮呼叫下列方法:

這個方法是同步方法。 若要判斷寫入作業的進度,您必須實作 DDiscFormat2RawCDEvents 介面。 如需示範如何在腳本中實作事件處理常式的範例,請參閱 使用事件監視進度

原始映射的第一個磁區會寫入 MSF 95:00:00。 如果您的 RAW 映射具有不同的第一個磁區,請使用 IDiscFormat2RawCD::WriteMedia2 方法。

這個方法會使用 IStream::Seek 方法,在影像中取得目前媒體的適當起始位置。 如果 IStream::Seek 方法失敗,方法會重複呼叫 IStream::Read 方法,直到到達起始磁區為止。

DAO-96 標準允許將任何類型的資料寫入 CD 媒體。 其中一個常見的用法是撰寫音訊 CD,而曲目之間沒有 2 秒的間距。

DAO-96 也支援副程式代碼內容的變化,例如 CD+G 和 CD-Text。

需求

   
最低支援的用戶端 Windows Vista、Windows XP SP2 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 imapi2.h

另請參閱

IDiscFormat2RawCD

IDiscFormat2RawCD::WriteMedia2