Win32 API 日本語リファレンス
ホームStorage.Imapi › IDiscFormat2Data

IDiscFormat2Data

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID27354153-9f64-5b0f-8f00-5d77afbe261e継承元IDiscFormat2呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl12

公式ドキュメント

このインターフェイスは、データストリームをディスクに書き込むために使用します。

解説(Remarks)

スクリプトで MsftDiscFormat2Data オブジェクトを作成するには、CreateObject を呼び出すときにプログラム識別子として IMAPI2.MsftDiscFormat2Data を指定します。

書き込み操作の実行中に電源状態の遷移 (ユーザーのログオフやシステムのサスペンドなど) が発生し、書き込み処理が中断されてデータが失われる可能性があります。プログラミング上の考慮事項については、「Preventing Logoff or Suspend During a Burn」を参照してください。

メソッド 32

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 12 HRESULT put_Recorder(IDiscRecorder2* value)

書き込み操作に使用する記録デバイスを設定します。(IDiscFormat2Data.put_Recorder)

valueIDiscRecorder2*in書き込み操作で使用する記録デバイスを識別する IDiscRecorder2 インターフェイスです。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
現在、書き込み操作が実行中です。

値: 0xC0AA0400

E_IMAPI_DF2DATA_RECORDER_NOT_SUPPORTED
このデバイスは、このディスクフォーマットが必要とする操作をサポートしていません。

値: 0xC0AA0407

解説(Remarks)

レコーダーは、このインターフェイスで定義されるフォーマットと互換性がある必要があります。互換性を確認するには、IDiscFormat2::IsRecorderSupported メソッドを呼び出します。

vtbl 13 HRESULT get_Recorder(IDiscRecorder2** value)

書き込み操作に使用する記録デバイスを取得します。(IDiscFormat2Data.get_Recorder)

valueIDiscRecorder2**out書き込み操作で使用する記録デバイスを識別する IDiscRecorder2 インターフェイスです。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

vtbl 14 HRESULT put_BufferUnderrunFreeDisabled(VARIANT_BOOL value)

Buffer Underrun Free 記録を有効にするかどうかを指定します。(IDiscFormat2Data.put_BufferUnderrunFreeDisabled)

valueVARIANT_BOOLinBuffer Underrun Free 記録を無効にする場合は VARIANT_TRUE を、それ以外の場合は VARIANT_FALSE を設定します。既定値は VARIANT_FALSE (有効) です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
現在、書き込み操作が実行中です。

値: 0xC0AA0400

解説(Remarks)

デバイスが連続して書き込みを続けられるだけの速さでデータストリームがバッファーに入らない場合、バッファーアンダーランが問題になることがあります。その結果、書き込みの停止と再開によってディスク上のデータが使用できなくなる可能性があります。Buffer Underrun Free (BUF) 記録では、ディスクに既に書き込まれたデータを破損させることなくレーザーを停止および再開できます。BUF 記録を無効にできるのは CD-R/RW メディアのみです。

vtbl 15 HRESULT get_BufferUnderrunFreeDisabled(VARIANT_BOOL* value)

CD-R、CD-RW、DVD-R の各メディアで Buffer Underrun Free 記録が有効かどうかを示します。

valueVARIANT_BOOL*outBuffer Underrun Free 記録が無効の場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE (有効) です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

vtbl 16 HRESULT put_PostgapAlreadyInImage(VARIANT_BOOL value)

データストリームにポストギャップが含まれるかどうかを指定します。(Put)

valueVARIANT_BOOLinデータストリームにポストギャップが含まれる場合は VARIANT_TRUE を、それ以外の場合は VARIANT_FALSE を設定します。既定値は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
現在、書き込み操作が実行中です。

値: 0xC0AA0400

解説(Remarks)

CD-R/RW メディアへの書き込みでは、このプロパティを明示的に無効にしない限り、150 セクターのポストギャップが自動的に追加されることに注意してください。

vtbl 17 HRESULT get_PostgapAlreadyInImage(VARIANT_BOOL* value)

データストリームにポストギャップが含まれるかどうかを示します。(Get)

valueVARIANT_BOOL*outデータストリームにポストギャップが含まれる場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

vtbl 18 HRESULT get_CurrentMediaStatus(IMAPI_FORMAT2_DATA_MEDIA_STATE* value)

デバイス内のメディアの現在の状態を取得します。

valueIMAPI_FORMAT2_DATA_MEDIA_STATE*outディスクデバイス内のメディアの状態です。指定できる値については、IMAPI_FORMAT2_DATA_MEDIA_STATE 列挙型を参照してください。複数の状態が設定される場合があることに注意してください。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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

解説(Remarks)

このプロパティを使用する例については、「Checking Media Support」を参照してください。

vtbl 19 HRESULT get_WriteProtectStatus(IMAPI_MEDIA_WRITE_PROTECT_STATE* value)

デバイス内のメディアの現在の書き込み禁止状態を取得します。

valueIMAPI_MEDIA_WRITE_PROTECT_STATE*out

デバイス内のメディアの現在の書き込み禁止状態です。指定できる値については、IMAPI_MEDIA_WRITE_PROTECT_STATE 列挙型を参照してください。

複数の状態が設定される場合があることに注意してください。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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

vtbl 20 HRESULT get_TotalSectorsOnMedia(INT* value)

デバイス内のメディアのセクター数を取得します。

valueINT*outデバイス内のメディアのセクター数です。この数には、空きセクター、使用済みセクター、およびブートセクターが含まれます。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_DF2DATA_INVALID_MEDIA_STATE
要求された操作は、サポートされているメディアでのみ有効です。

値: 0xC0AA0402

解説(Remarks)

この値は、空のディスクの場合であっても、メディア上で使用可能なセクターの総数を必ずしも表すものではありません。

vtbl 21 HRESULT get_FreeSectorsOnMedia(INT* value)

追記 (既存データを上書きしない記録) に使用できる、ディスク上の空きセクター数を取得します。

valueINT*outデバイス内のメディアの空きセクター数です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_DF2DATA_INVALID_MEDIA_STATE
要求された操作は、サポートされているメディアでのみ有効です。

値: 0xC0AA0402

解説(Remarks)

このプロパティの値は、実質的に書き込み操作で使用できるディスク上のセクター数です。ランアウトブロックやポストギャップなど、ディスク領域の管理やデータ品質の確保のために消費されるセクターは除外されます。

注意  物理セッションを 1 つしか持たない上書き可能なディスクでは、value が示す空きセクター数は常にディスク上のセクターの総数になります。
 
IDiscFormat2Data::put_ForceOverwriteVARIANT_TRUE が設定されている場合は、代わりに IDiscFormat2Data::get_TotalSectorsOnMedia プロパティを使用してください。
vtbl 22 HRESULT get_NextWritableAddress(INT* value)

次の書き込み操作の位置を取得します。

valueINT*out次の書き込み操作が開始されるアドレスです。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_DF2DATA_INVALID_MEDIA_STATE
要求された操作は、サポートされているメディアでのみ有効です。

値: 0xC0AA0402

解説(Remarks)

空のメディアでは、書き込みは位置 0 から開始されます。

マルチセッション書き込みでは、次に書き込み可能なアドレスは正しいファイルシステムを構成する際に役立ちます。

vtbl 23 HRESULT get_StartAddressOfPreviousSession(INT* value)

前回の書き込みセッションの先頭セクターを取得します。

valueINT*out

前回の書き込み操作が開始されたアドレスです。

メディアが空の場合、またはマルチセッション書き込みをサポートしていない場合、値は -1 になります (前のセッションを検出できなかったことを示します)。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_DF2DATA_INVALID_MEDIA_STATE
要求された操作は、サポートされているメディアでのみ有効です。

値: 0xC0AA0402

解説(Remarks)

注意  このプロパティは使用しないでください。前のセッションからファイルデータをインポートするには、代わりに IMultisessionSequential などの IMultisession から派生したインターフェイスを使用してください。
 
vtbl 24 HRESULT get_LastWrittenAddressOfPreviousSession(INT* value)

前回の書き込みセッションの最終セクターを取得します。

valueINT*out

前回の書き込み操作が終了したアドレスです。

メディアが空の場合、またはマルチセッション書き込みをサポートしていない場合、値は -1 になります (前のセッションを検出できなかったことを示します)。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_NOTIMPL
実装されていません。

値: 0x80004001

解説(Remarks)

注意  このプロパティは使用しないでください。前のセッションからファイルデータをインポートするには、代わりに IMultisessionSequential などの IMultisession から派生したインターフェイスを使用してください。
 
vtbl 25 HRESULT put_ForceMediaToBeClosed(VARIANT_BOOL value)

ファイルシステムへのそれ以上の追加を禁止するかどうかを指定します。(Put)

valueVARIANT_BOOLin

次の書き込みセッションの終了時にディスクをクローズ済みとしてマークし、追加の書き込みを禁止する場合は VARIANT_TRUE を設定します。

以降の書き込みセッションのためにディスクをオープンのままにする場合は VARIANT_FALSE を設定します。既定値は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
現在、書き込み操作が実行中です。

値: 0xC0AA0400

解説(Remarks)

ディスクの空き領域が 2% 以下になると、このプロパティの値に関係なく、書き込み処理はディスクをクローズ済みとしてマークします。これは、書き込みセッションでファイルシステムを記録するための十分な空き領域をディスクに確保するための動作です。

クローズ済みとしてマークされた書き換え可能ディスクは消去できます。

IDiscFormat2Data::put_DisableConsumerDvdCompatibilityMode プロパティがこのプロパティより優先される場合があることに注意してください。詳細については put_DisableConsumerDvdCompatibilityMode を参照してください。

vtbl 26 HRESULT get_ForceMediaToBeClosed(VARIANT_BOOL* value)

ファイルシステムへのそれ以上の追加が禁止されているかどうかを示します。(Get)

valueVARIANT_BOOL*out次の書き込みセッションの終了時にディスクをクローズ済みとしてマークし、以降の書き込みセッションを禁止する場合は VARIANT_TRUE です。以降の書き込みセッションのためにディスクをオープンのままにする場合は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

vtbl 27 HRESULT put_DisableConsumerDvdCompatibilityMode(VARIANT_BOOL value)

DVD の記録セッションに、デバイスが DVD を再生できる可能性を高める処理を含めるかどうかを指定します。(Put)

valueVARIANT_BOOLin

より多くの民生機器でディスクを再生できるようにするための処理を省略する場合は VARIANT_TRUE を設定します。互換性のための処理を省くと、記録セッションの所要時間が短縮され、ディスク上に必要な空き領域も少なくなります。

デバイスが DVD を再生できる可能性を高める場合は VARIANT_FALSE を設定します。既定値は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
現在、書き込み操作が実行中です。

値: 0xC0AA0400

解説(Remarks)

このプロパティは、CD メディアおよび DVD ダッシュ (DVD-) メディアには影響しません。

DVD+R および DVD+DL メディアでは、このプロパティはメディアのクローズ操作にも影響します。

DisableConsumerDvdCompatibilityMode の値 ForceMediaToBeClosed の値 クローズ操作
False True 互換モードでディスクをクローズします
False False 互換モードでディスクをクローズします
True True 通常どおりディスクをクローズします
True False DVD+R ではセッションをクローズし、DVD+R DL では通常どおりディスクをクローズします
vtbl 28 HRESULT get_DisableConsumerDvdCompatibilityMode(VARIANT_BOOL* value)

DVD の記録セッションに、デバイスが DVD を再生できる可能性を高める処理が含まれるかどうかを示します。(Get)

valueVARIANT_BOOL*out

より多くの民生機器でディスクを再生できるようにするための処理をセッションが省略する場合は VARIANT_TRUE です。

民生機器との読み取り互換性を最大化するようにメディアへ書き込む場合は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

解説(Remarks)

このプロパティは、CD メディアには影響しません。

vtbl 29 HRESULT get_CurrentPhysicalMediaType(IMAPI_MEDIA_PHYSICAL_TYPE* value)

ディスクデバイス内のメディアの種類を取得します。(IDiscFormat2Data.get_CurrentPhysicalMediaType)

valueIMAPI_MEDIA_PHYSICAL_TYPE*outディスクデバイス内のメディアの種類です。指定できる値については、IMAPI_MEDIA_PHYSICAL_TYPE 列挙型を参照してください。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_RECORDER_REQUIRED
この要求には、現在のディスクレコーダーが選択されている必要があります。

値: 0xC0AA0003

E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。
注意  この値は NULL ポインターを示すものではありません。
 
値: 0x80004003
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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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

vtbl 30 HRESULT put_ClientName(LPWSTR value)

クライアントのフレンドリ名を設定します。(IDiscFormat2Data.put_ClientName)

valueLPWSTRinクライアントアプリケーションの名前です。NULL や空の文字列は指定できません。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_OUTOFMEMORY
必要なメモリを割り当てられませんでした。

値: 0x8007000E

E_IMAPI_DF2DATA_CLIENT_NAME_IS_NOT_VALID
クライアント名が有効ではありません。

値: 0xC0AA0211

E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
現在、書き込み操作が実行中です。

値: 0xC0AA0500

解説(Remarks)

この名前は、書き込み操作がデバイスへの排他アクセスを要求する際に使用されます。IDiscRecorder2::get_ExclusiveAccessOwner プロパティには、ロックを保持しているクライアントの名前が格納されます。

書き込み操作中に CDROM デバイスへの読み取り/書き込みアクセス権を持つアプリケーションであれば、IOCTL_CDROM_EXCLUSIVE_ACCESS (クエリ) 制御コード (Microsoft Windows Driver Development Kit (DDK) を参照) を使用してこの名前を参照できます。そのため、この名前は、このインターフェイスを使用してメディアに書き込んでいるプログラムを識別できるものにすることが重要です。名前に使用できる文字は、IOCTL_CDROM_EXCLUSIVE_ACCESS 制御コードが要求する文字セットに制限されます。

vtbl 31 HRESULT get_ClientName(LPWSTR* value)

クライアントのフレンドリ名を取得します。(IDiscFormat2Data.get_ClientName)

valueLPWSTR*outクライアントアプリケーションの名前です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

E_OUTOFMEMORY
必要なメモリを割り当てられませんでした。

値: 0x8007000E

vtbl 32 HRESULT get_RequestedWriteSpeed(INT* value)

要求された書き込み速度を取得します。(IDiscFormat2Data.get_RequestedWriteSpeed)

valueINT*out

1 秒あたりのディスクセクター数で表した、要求された書き込み速度です。

0xFFFFFFFF (-1) は、そのメディアでサポートされる最速の速度で書き込みを行うことを要求します。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

解説(Remarks)

これは、直近の IDiscFormat2Data::SetWriteSpeed メソッドの呼び出しで指定された値です。

vtbl 33 HRESULT get_RequestedRotationTypeIsPureCAV(VARIANT_BOOL* value)

要求された回転速度制御の種類を取得します。(IDiscFormat2Data.get_RequestedRotationTypeIsPureCAV)

valueVARIANT_BOOL*out要求された回転速度制御の種類です。角速度一定 (CAV) の回転速度制御の場合は VARIANT_TRUE です。レコーダーがサポートするその他の回転速度制御の場合は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

解説(Remarks)

これは、直近の IDiscFormat2Data::SetWriteSpeed メソッドの呼び出しで指定された値です。

vtbl 34 HRESULT get_CurrentWriteSpeed(INT* value)

ドライブの現在の書き込み速度を取得します。(IDiscFormat2Data.get_CurrentWriteSpeed)

valueINT*out1 秒あたりのセクター数で表した、現在のメディアの書き込み速度です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_RECORDER_REQUIRED
この要求には、現在のディスクレコーダーが選択されている必要があります。

値: 0xC0AA0003

E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_UNEXPECTED_RESPONSE_FROM_DEVICE
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。

値: 0xC0AA0301

解説(Remarks)

要求された書き込み速度を取得するには、IDiscFormat2Data::get_RequestedWriteSpeed メソッドを呼び出します。

レコーダーと現在のメディアがサポートする書き込み速度の一覧を取得するには、IDiscFormat2Data::get_SupportedWriteSpeeds メソッドを呼び出します。

書き込み速度はメディアの書き込み速度に基づいていることに注意してください。このプロパティの値は、メディアが交換されると変化することがあります。

vtbl 35 HRESULT get_CurrentRotationTypeIsPureCAV(VARIANT_BOOL* value)

レコーダーが使用している現在の回転速度制御を取得します。(IDiscFormat2Data.get_CurrentRotationTypeIsPureCAV)

valueVARIANT_BOOL*out角速度一定 (CAV) の回転速度制御が使用されている場合は VARIANT_TRUE です。それ以外の場合は VARIANT_FALSE で、レコーダーがサポートする別の回転速度制御が使用されていることを示します。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_RECORDER_REQUIRED
この要求には、現在のディスクレコーダーが選択されている必要があります。

値: 0xC0AA0003

E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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

解説(Remarks)

要求された回転速度制御を取得するには、IDiscFormat2Data::get_RequestedRotationTypeIsPureCAV メソッドを呼び出します。

回転速度制御の種類には次のものがあります。

vtbl 36 HRESULT get_SupportedWriteSpeeds(SAFEARRAY** supportedSpeeds)

ディスクレコーダーと現在のメディアがサポートする書き込み速度の一覧を取得します。(IDiscFormat2Data.get_SupportedWriteSpeeds)

supportedSpeedsSAFEARRAY**outディスクレコーダーと現在のメディアがサポートする書き込み速度の一覧です。配列の各要素は VT_UI4 型の VARIANT です。VARIANT の ulVal メンバーには、1 秒あたりに書き込まれるセクター数が格納されます。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_RECORDER_REQUIRED
この要求には、現在のディスクレコーダーが選択されている必要があります。

値: 0xC0AA0003

E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。
注意  この値は NULL ポインターを示すものではありません。
 
値: 0x80004003
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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_UNEXPECTED_RESPONSE_FROM_DEVICE
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。

値: 0xC0AA0301

解説(Remarks)

この一覧に含まれる速度を、IDiscFormat2Data::SetWriteSpeed メソッドを呼び出す際の書き込み速度として使用できます。

レコーダーと現在のメディアがサポートする書き込み構成の一覧を取得するには、IDiscFormat2Data::get_SupportedWriteSpeedDescriptors メソッドを呼び出します。

vtbl 37 HRESULT get_SupportedWriteSpeedDescriptors(SAFEARRAY** supportedSpeedDescriptors)

ディスクレコーダーと現在のメディアがサポートする詳細な書き込み構成の一覧を取得します。(IDiscFormat2Data.get_SupportedWriteSpeedDescriptors)

supportedSpeedDescriptorsSAFEARRAY**outディスクレコーダーと現在のメディアがサポートする詳細な書き込み構成の一覧です。配列の各要素は VT_Dispatch 型の VARIANT です。VARIANT の pdispVal メンバーに対して IWriteSpeedDescriptor インターフェイスをクエリしてください。このインターフェイスには、メディアの種類、書き込み速度、回転速度制御の種類が含まれます。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_RECORDER_REQUIRED
この要求には、現在のディスクレコーダーが選択されている必要があります。

値: 0xC0AA0003

E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。
注意  この値は NULL ポインターを示すものではありません。
 
値: 0x80004003
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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_UNEXPECTED_RESPONSE_FROM_DEVICE
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。

値: 0xC0AA0301

解説(Remarks)

レコーダーと現在のメディアがサポートする書き込み速度の一覧を取得するには、IDiscFormat2Data::get_SupportedWriteSpeeds メソッドを呼び出します。

vtbl 38 HRESULT put_ForceOverwrite(VARIANT_BOOL value)

上書き可能なメディアの種類において、データライターがディスクを上書きする必要があるかどうかを指定します。(Put)

valueVARIANT_BOOLin上書き可能なメディアの種類でデータライターがディスクを上書きする必要がある場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE です。既定値は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。

vtbl 39 HRESULT get_ForceOverwrite(VARIANT_BOOL* value)

上書き可能なメディアの種類において、データライターがディスクを上書きする必要があるかどうかを示します。(Get)

valueVARIANT_BOOL*out上書き可能なメディアの種類でデータライターがディスクを上書きする必要がある場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

vtbl 40 HRESULT get_MultisessionInterfaces(SAFEARRAY** value)

使用可能なマルチセッションインターフェイスの一覧を取得します。

valueSAFEARRAY**out使用可能なマルチセッションインターフェイスの一覧です。配列の各要素は VT_DISPATCH 型の VARIANT です。VARIANT の pdispVal メンバーに対して、IMultisession インターフェイスを継承する任意のインターフェイス (たとえば IMultisessionSequential) をクエリしてください。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_POINTER
ポインターが有効ではありません。

値: 0x80004003

E_OUTOFMEMORY
必要なメモリを割り当てられませんでした。

値: 0x8007000E

 
注意  このメソッドは、空の光学メディアに対して呼び出してもエラーを返しません。
 

解説(Remarks)

配列には、常に少なくとも 1 つの要素が含まれます。

vtbl 41 HRESULT Write(IStream* data)

データストリームをデバイスに書き込みます。

dataIStream*in書き込むデータストリームの IStream インターフェイスです。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_UNEXPECTED_RESPONSE_FROM_DEVICE
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。

値: 0xC0AA0301

E_IMAPI_RECORDER_REQUIRED
この要求には、現在のディスクレコーダーが選択されている必要があります。

値: 0xC0AA0003

S_IMAPI_ROTATIONADJUSTED
要求された回転制御の種類がドライブでサポートされていなかったため、回転制御の種類が調整されました。

値: 0x00AA0005

S_IMAPI_SPEEDADJUSTED
要求された書き込み速度がドライブでサポートされていなかったため、速度が調整されました。

値: 0x00AA0004

S_IMAPI_BOTHADJUSTED
要求された書き込み速度と回転制御の種類がドライブでサポートされていなかったため、どちらも調整されました。

値: 0x00AA0006

E_IMAPI_DF2DATA_RECORDER_NOT_SUPPORTED
このデバイスは、このディスクフォーマットが必要とする操作をサポートしていません。

値: 0xC0AA0407

E_IMAPI_REQUEST_CANCELLED
要求は取り消されました。

値: 0xC0AA0002

E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
現在、書き込み操作が実行中です。

値: 0xC0AA0400

E_IMAPI_DF2DATA_STREAM_NOT_SUPPORTED
指定された IStream オブジェクトのサイズが無効です。サイズはセクターサイズ 2048 の倍数である必要があります。

値: 0xC0AA0403

E_IMAPI_DF2DATA_MEDIA_IS_NOT_SUPPORTED
現在のメディアの種類はサポートされていません。

値: (HRESULT)0xC0AA0406

E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

E_FAIL
原因不明のエラーです。

値: 0x80004005

E_OUTOFMEMORY
必要なメモリを割り当てられませんでした。

値: 0x8007000E

E_NOTIMPL
実装されていません。

値: 0x80004001

解説(Remarks)

このメソッドを呼び出す前に、次のメソッドを呼び出しておく必要があります。

また、既定値がアプリケーションに適さない場合は、次のメソッドの呼び出しも検討してください。 このメソッドは同期的であり、指定された IStream がメディアに記録されるまで制御は戻りません。書き込み操作の進行状況を把握するには、DDiscFormat2DataEvents インターフェイスを実装する必要があります。スクリプトでイベントハンドラーを実装する方法の例については、「Monitoring Progress With Events」を参照してください。

順次記録方式のディスクでは、指定された IStream は新しいセッションとして記録されます。書き換え可能ディスクでは、指定された IStream は常にセクター 0 から記録されますが、IStream インターフェイスを提供するオブジェクトは、記録が必要なセクターを列挙する IBlockRangeList インターフェイスも提供できます。IBlockRangeList インターフェイスは、マルチセッションのシナリオで変更されていないセクターの再書き込みを避けるために使用します。IStream を提供するオブジェクトが IBlockRangeList を提供しない場合は、IStream 全体を記録する必要があるものとみなされます。

vtbl 42 HRESULT CancelWrite()

現在の書き込み操作を取り消します。(IDiscFormat2Data.CancelWrite)

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_DF2DATA_WRITE_NOT_IN_PROGRESS
現在、実行中の書き込み操作はありません。

値: 0xC0AA0401

E_FAIL
原因不明のエラーです。

値: 0x80004005

解説(Remarks)

書き込み操作を取り消すには、実装した DDiscFormat2DataEvents::Update イベントハンドラーからこのメソッドを呼び出す必要があります。

メディア固有の要件により、このメソッドを呼び出してもすべてのメディアで書き込み操作がただちに取り消されるわけではないことに注意してください。たとえば CD への書き込みでは、書き込み操作がさらに最大 3 分間継続することがあります。

このメソッドを実行すると、メディアは不確定な状態のままになります。書き換え可能メディアの場合は、以降の使用に備えてメディアを準備するために、このメソッドの呼び出し後に IDiscFormat2Erase::EraseMedia メソッドを呼び出してください。

vtbl 43 HRESULT SetWriteSpeed(INT RequestedSectorsPerSecond, VARIANT_BOOL RotationTypeIsPureCAV)

ディスクレコーダーの書き込み速度を設定します。(IDiscFormat2Data.SetWriteSpeed)

RequestedSectorsPerSecondINTin

1 秒あたりのディスクセクター数で表した、要求する書き込み速度です。

0xFFFFFFFF (-1) は、そのメディアでサポートされる最速の速度で書き込みを行うことを要求します。 これが既定値です。

RotationTypeIsPureCAVVARIANT_BOOLin要求する回転速度制御の種類です。角速度一定 (CAV) の回転速度制御を要求する場合は VARIANT_TRUE を設定します。レコーダーがサポートする別の回転速度制御を使用する場合は VARIANT_FALSE を設定します。既定値は VARIANT_FALSE です。

戻り値

S_OK が返されますが、実装によっては他の成功コードが返されることもあります。操作が失敗した場合は次のエラーコードが一般的に返されますが、返される可能性のあるエラー値はこれらに限られません:

戻り値 説明
E_IMAPI_RECORDER_REQUIRED
この要求には、現在のディスクレコーダーが選択されている必要があります。

値: 0xC0AA0003

E_INVALIDARG
1 つ以上の引数が有効ではありません。

値: 0x80070057

E_POINTER
ポインターが有効ではありません。

値: 0x80004003

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
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで、この問題が解決する場合があります。

値: 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_UNEXPECTED_RESPONSE_FROM_DEVICE
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。

値: 0xC0AA0301

S_IMAPI_ROTATIONADJUSTED
要求された回転制御の種類がドライブでサポートされていなかったため、回転制御の種類が調整されました。

値: 0x00AA0005

S_IMAPI_SPEEDADJUSTED
要求された書き込み速度がドライブでサポートされていなかったため、速度が調整されました。

値: 0x00AA0004

S_IMAPI_BOTHADJUSTED
要求された書き込み速度と回転制御の種類がドライブでサポートされていなかったため、どちらも調整されました。

値: 0x00AA0006

解説(Remarks)

このメソッドは、レコーダーの書き込み速度と回転速度制御の種類を設定します。要求した値は、レコーダーに実際に設定される値と異なる場合があります。レコーダーを指定するには、IDiscFormat2Data::put_Recorder メソッドを呼び出します。

要求した書き込み速度をレコーダーがサポートしている場合、ディスクデバイスはその要求値を使用します。要求した書き込み速度をレコーダーがサポートしていない場合、レコーダーはサポートしている書き込み速度のうち要求値に最も近いものを使用します。レコーダーが使用した値は、IDiscFormat2Data::get_CurrentWriteSpeed プロパティに格納されます。

レコーダーと現在のメディアがサポートする書き込み速度の一覧を取得するには、IDiscFormat2Data::get_SupportedWriteSpeeds メソッドを呼び出します。

回転速度制御の種類として角速度一定 (CAV) を要求してもレコーダーが CAV をサポートしていない場合、ディスクデバイスはサポートしている別の種類の回転速度制御を使用します。レコーダーが使用した値は、IDiscFormat2Data::get_CurrentRotationTypeIsPureCAV プロパティに示されます。

要求した値を取得するには、IDiscFormat2Data::get_RequestedWriteSpeed メソッドおよび IDiscFormat2Data::get_RequestedRotationTypeIsPureCAV メソッドを呼び出します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDiscFormat2Data "{27354153-9F64-5B0F-8F00-5D77AFBE261E}"
#usecom global IDiscFormat2Data IID_IDiscFormat2Data "{}"
#comfunc global IDiscFormat2Data_put_Recorder                             12 sptr
#comfunc global IDiscFormat2Data_get_Recorder                             13 sptr
#comfunc global IDiscFormat2Data_put_BufferUnderrunFreeDisabled           14 int
#comfunc global IDiscFormat2Data_get_BufferUnderrunFreeDisabled           15 var
#comfunc global IDiscFormat2Data_put_PostgapAlreadyInImage                16 int
#comfunc global IDiscFormat2Data_get_PostgapAlreadyInImage                17 var
#comfunc global IDiscFormat2Data_get_CurrentMediaStatus                   18 var
#comfunc global IDiscFormat2Data_get_WriteProtectStatus                   19 var
#comfunc global IDiscFormat2Data_get_TotalSectorsOnMedia                  20 var
#comfunc global IDiscFormat2Data_get_FreeSectorsOnMedia                   21 var
#comfunc global IDiscFormat2Data_get_NextWritableAddress                  22 var
#comfunc global IDiscFormat2Data_get_StartAddressOfPreviousSession        23 var
#comfunc global IDiscFormat2Data_get_LastWrittenAddressOfPreviousSession  24 var
#comfunc global IDiscFormat2Data_put_ForceMediaToBeClosed                 25 int
#comfunc global IDiscFormat2Data_get_ForceMediaToBeClosed                 26 var
#comfunc global IDiscFormat2Data_put_DisableConsumerDvdCompatibilityMode  27 int
#comfunc global IDiscFormat2Data_get_DisableConsumerDvdCompatibilityMode  28 var
#comfunc global IDiscFormat2Data_get_CurrentPhysicalMediaType             29 var
#comfunc global IDiscFormat2Data_put_ClientName                           30 wstr
#comfunc global IDiscFormat2Data_get_ClientName                           31 var
#comfunc global IDiscFormat2Data_get_RequestedWriteSpeed                  32 var
#comfunc global IDiscFormat2Data_get_RequestedRotationTypeIsPureCAV       33 var
#comfunc global IDiscFormat2Data_get_CurrentWriteSpeed                    34 var
#comfunc global IDiscFormat2Data_get_CurrentRotationTypeIsPureCAV         35 var
#comfunc global IDiscFormat2Data_get_SupportedWriteSpeeds                 36 var
#comfunc global IDiscFormat2Data_get_SupportedWriteSpeedDescriptors       37 var
#comfunc global IDiscFormat2Data_put_ForceOverwrite                       38 int
#comfunc global IDiscFormat2Data_get_ForceOverwrite                       39 var
#comfunc global IDiscFormat2Data_get_MultisessionInterfaces               40 var
#comfunc global IDiscFormat2Data_Write                                    41 sptr
#comfunc global IDiscFormat2Data_CancelWrite                              42
#comfunc global IDiscFormat2Data_SetWriteSpeed                            43 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。