IDiscFormat2TrackAtOnce
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
このインターフェイスは、Track-At-Once モードでブランクの CD-R または CD-RW メディアにオーディオを書き込むために使用します。
解説(Remarks)
スクリプトで MsftDiscFormat2TrackAtOnce オブジェクトを作成するには、CreateObject の呼び出し時にプログラム識別子として IMAPI2.MsftDiscFormat2TrackAtOnce を指定します。
書き込み操作の実行中に電源状態の遷移 (ユーザーのログオフやシステムのサスペンドなど) が発生し、書き込み処理が中断してデータが失われる可能性があります。プログラミング上の考慮事項については、Preventing Logoff or Suspend During a Burn を参照してください。
メソッド 25
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
現在のメディアを排他アクセス用にロックします。(IDiscFormat2TrackAtOnce.PrepareMedia)
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
使用するレコーダーを選択するまで、メディアを準備することはできません。
値: 0xC0AA050A |
|
|
メディアが「準備済み」の状態で解放されていない場合、要求された操作は無効です。
値: 0xC0AA0503 |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
ブランクの CD-R/RW メディアのみがサポートされます。
値: 0xC0AA0507 |
|
|
ブランクの CD-R/RW メディアのみがサポートされます。
値: 0xC0AA0506 |
|
|
クライアント名が有効ではありません。
値: 0xC0AA050F |
解説(Remarks)
このメソッドを呼び出す前に、IDiscFormat2TrackAtOnce::put_ClientName メソッドを呼び出す必要があります。
また、IDiscFormat2TrackAtOnce::AddAudioTrack メソッドを呼び出す前に、IDiscFormat2TrackAtOnce::PrepareMedia メソッドを呼び出す必要があります。
書き込みが完了した後、または書き込み操作をキャンセルした後は、IDiscFormat2TrackAtOnce::ReleaseMedia メソッドを呼び出してロックを解放する必要があります。
なお、メディア変更通知 (MCN) と IDiscFormat2TrackAtOnce::put_DoNotFinalizeMedia プロパティは、セッションが閉じられるまで読み取り専用になります。
データストリームを新しいトラックとして現在のメディアに書き込みます。
| data | IStream* | in | メディアの次のトラックとして書き込むオーディオデータの IStream インターフェイスです。 データ形式は 44.1KHz、16 ビット、ステレオの生のオーディオサンプルです。これは Microsoft WAV オーディオファイル内のオーディオサンプルで使用されている形式と同じです (ヘッダーは含みません)。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
要求された操作は、メディアが「準備済み」の場合にのみ有効です。
値: 0xC0AA0502 |
|
|
現在、書き込み操作が進行中です。
値: 0xC0AA0500 |
|
|
CD-R および CD-RW メディアがサポートするオーディオトラックは最大 99 個です。
値: 0xC0AA0508 |
|
|
指定されたオーディオストリームが有効ではありません。
値: 0xC0AA050D |
|
|
指定されたオーディオトラックを追加するための空き領域がメディアに残っていません。
値: 0xC0AA0509 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
要求はキャンセルされました。
値: 0xC0AA0002 |
解説(Remarks)
このメソッドを呼び出す前に、IDiscFormat2TrackAtOnce::put_Recorder メソッドと IDiscFormat2TrackAtOnce::PrepareMedia メソッドを呼び出す必要があります。
既定値がアプリケーションに適していない場合は、次のメソッドの呼び出しも検討してください。
- IDiscFormat2TrackAtOnce::put_BufferUnderrunFreeDisabled
- IDiscFormat2TrackAtOnce::put_ClientName
- IDiscFormat2TrackAtOnce::put_DoNotFinalizeMedia
メディアには 99 個のオーディオデータトラックを収めることができます。トラック番号は 1 から始まり、最後のトラックは 99 です。
無音 (値が 0 のデータサンプル) は、次のようにトラック書き込み操作に追加されます。
- トラックの最小サイズは 4 秒です。必要に応じて、この条件を満たすようにトラックデータが拡張されます。
- Track-At-Once 記録の性質上、連続するオーディオトラックの間には 2 秒のギャップが追加されます。このギャップは通常 PC 用のプレーヤーでは表面化しませんが、一部の家電機器では認識できる場合があります。
現在の書き込み操作をキャンセルします。(IDiscFormat2TrackAtOnce.CancelAddTrack)
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
現在、進行中の書き込み操作はありません。
値: 0xC0AA0501 |
|
|
原因不明のエラーです。
値: 0x80004005 |
解説(Remarks)
書き込み操作をキャンセルするには、実装した DDiscFormat2TrackAtOnceEvents::Update イベントハンドラーからこのメソッドを呼び出す必要があります。
また、このメソッドを呼び出した後は、IDiscFormat2TrackAtOnce::ReleaseMedia メソッドも呼び出す必要があります。
なお、メディア固有の要件により、このメソッドを呼び出してもすべてのメディアで書き込み操作が直ちにキャンセルされるわけではありません。たとえば CD への書き込みでは、書き込み操作がさらに最大 3 分間継続することがあります。
このメソッドの呼び出し時点で、オーディオトラックの一部が既に記録されている場合があります。このメソッドはメディアを使用可能な状態に保つよう試み、キャンセルされたトラックを単に IStream が示していた長さより短いトラックとして扱います。呼び出し側は、キャンセル後にトラック数とトラックサイズを照会してディスクの状態を確認してください。
トラック書き込みセッションを閉じ、ロックを解放します。
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
書き込み操作が進行中です。
値: 0xC0AA0500 |
|
|
メディアが「準備済み」の状態で解放されていない場合、要求された操作は無効です。
値: 0xC0AA0503 |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
解説(Remarks)
このメソッドは、IDiscFormat2TrackAtOnce::PrepareMedia メソッドの呼び出し時に設定されたロックを解放します。書き込みセッションを閉じるとき、または IDiscFormat2TrackAtOnce::CancelAddTrack メソッドを呼び出した後には、このメソッドを呼び出す必要があります。
ディスクレコーダーの書き込み速度を設定します。(IDiscFormat2TrackAtOnce.SetWriteSpeed)
| RequestedSectorsPerSecond | INT | in | 要求する書き込み速度 (1 秒あたりのディスクセクター数)。 0xFFFFFFFF (-1) を指定すると、そのメディアでサポートされる最高速度で書き込むことを要求します。これが既定値です。 |
| RotationTypeIsPureCAV | VARIANT_BOOL | in | 要求する回転速度制御の種類。角速度一定 (CAV) の回転速度制御を要求するには VARIANT_TRUE を設定します。レコーダーがサポートする別の回転速度制御を使用するには VARIANT_FALSE を設定します。既定値は VARIANT_FALSE です。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
この要求には、現在のディスクレコーダーが選択されている必要があります。
値: 0xC0AA0003 |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。
値: 0xC0AA0301 |
|
|
要求された回転方式がドライブでサポートされていなかったため、回転方式が調整されました。
値: 0x00AA0005 |
|
|
要求された書き込み速度がドライブでサポートされていなかったため、速度が調整されました。
値: 0x00AA0004 |
|
|
要求された書き込み速度と回転方式がドライブでサポートされていなかったため、その両方が調整されました。
値: 0x00AA0006 |
解説(Remarks)
このメソッドは、レコーダーの書き込み速度と回転速度制御の種類を設定します。要求した値は、レコーダーに実際に設定される値と異なる場合があります。レコーダーを指定するには、IDiscFormat2TrackAtOnce::put_Recorder メソッドを呼び出します。
要求した書き込み速度をレコーダーがサポートしている場合、ディスクデバイスはその値を使用します。サポートしていない場合、レコーダーはサポートする書き込み速度のうち要求値に最も近いものを使用します。レコーダーが使用している値は IDiscFormat2TrackAtOnce::get_CurrentWriteSpeed プロパティで確認できます。
レコーダーと現在のメディアがサポートする書き込み速度の一覧を取得するには、IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds メソッドを呼び出します。
回転速度制御の種類として角速度一定 (CAV) を要求してもレコーダーが CAV をサポートしていない場合、ディスクデバイスはサポートする別の種類の回転速度制御を使用します。レコーダーが使用している値は IDiscFormat2TrackAtOnce::get_CurrentRotationTypeIsPureCAV プロパティが示します。
要求した値を取得するには、IDiscFormat2TrackAtOnce::get_RequestedWriteSpeed メソッドと IDiscFormat2TrackAtOnce::get_RequestedRotationTypeIsPureCAV メソッドを呼び出します。
書き込み操作に使用する記録デバイスを設定します。(IDiscFormat2TrackAtOnce.put_Recorder)
| value | IDiscRecorder2* | in | 書き込み操作で使用する記録デバイスを識別する IDiscRecorder2 インターフェイスです。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
書き込み操作が進行中です。
値: 0xC0AA0500 |
|
|
メディアが「準備済み」の状態で解放されていない場合、要求された操作は無効です。
値: 0xC0AA0503 |
|
|
このデバイスは、このディスクフォーマットが必要とする操作をサポートしていません。
値: 0xC0AA050E |
解説(Remarks)
レコーダーは、このインターフェイスが定義するフォーマットと互換性がある必要があります。互換性を確認するには、IDiscFormat2::IsRecorderSupported メソッドを呼び出します。
書き込み操作に使用する記録デバイスを取得します。(IDiscFormat2TrackAtOnce.get_Recorder)
| value | IDiscRecorder2** | out | 書き込み操作で使用する記録デバイスを識別する IDiscRecorder2 インターフェイスです。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
Buffer Underrun Free 記録を有効にするかどうかを設定します。
| value | VARIANT_BOOL | in | Buffer Underrun Free 記録を無効にする場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE を設定します。既定値は VARIANT_FALSE (有効) です。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
メディアが準備されていません (IDiscFormat2TrackAtOnce::PrepareMedia が呼び出されていません)。
値: 0xC0AA0502 |
|
|
書き込み操作が進行中です。
値: 0xC0AA0500 |
解説(Remarks)
データストリームがバッファーに十分な速さで供給されず、デバイスが連続して書き込みを継続できない場合、バッファーアンダーランが問題になることがあります。その結果、書き込みの停止と再開によってディスク上のデータが使用できなくなる場合があります。Buffer Underrun Free (BUF) 記録を使用すると、ディスクに書き込み済みのデータを損なうことなくレーザーを停止および再開できます。BUF 記録を無効にできるのは CD-R/RW メディアの場合のみです。
Buffer Underrun Free 記録が有効かどうかを取得します。(IDiscFormat2TrackAtOnce.get_BufferUnderrunFreeDisabled)
| value | VARIANT_BOOL* | out | Buffer Underrun Free 記録が無効な場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE (有効) になります。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
メディア上に存在するオーディオトラックの数を取得します。(IDiscFormat2TrackAtOnce.get_NumberOfExistingTracks)
| value | INT* | out | ディスクに書き込まれた完了済みトラックの数。現在追加中のトラックは含まれません。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
メディアが準備されていません (IDiscFormat2TrackAtOnce::PrepareMedia が呼び出されていません)。
値: 0xC0AA0502 |
|
|
書き込み操作が進行中です。
値: 0xC0AA0500 |
解説(Remarks)
次の場合、値は 0 になります。
- メディアがブランクである場合
- 書き込みセッション外でこのメソッドを呼び出した場合
1 つの連続したオーディオトラックを書き込む場合にメディア上で使用できる合計セクター数を取得します。
| value | INT* | out | 1 つの連続したオーディオトラックを記録した場合に、メディア上でオーディオに使用できるすべてのセクターの数。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
メディアが準備されていません (IDiscFormat2TrackAtOnce::PrepareMedia が呼び出されていません)。
値: 0xC0AA0502 |
解説(Remarks)
このプロパティはいつでも取得できますが、書き込み中はキャッシュされた値が返されます。
メディアに新しいトラックを追加するために使用できるセクター数を取得します。
| value | INT* | out | メディア上でオーディオの書き込みに使用できる空きセクターの数。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
メディアが準備されていません (IDiscFormat2TrackAtOnce::PrepareMedia が呼び出されていません)。
値: 0xC0AA0502 |
解説(Remarks)
AddAudioTrack 操作の実行中に呼び出した場合、空きセクター数には現在のオーディオトラックの書き込みで使用されたセクターは反映されません。代わりに、AddAudioTrack を呼び出す直前の空きセクター数が返されます。
メディア上で使用済みのセクターの合計数を取得します。
| value | INT* | out | メディア上で使用済みのセクターの数。オーディオトラックと、トラック間に存在するオーバーヘッドが含まれます。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
メディアが準備されていません (IDiscFormat2TrackAtOnce::PrepareMedia が呼び出されていません)。
値: 0xC0AA0502 |
解説(Remarks)
イベントハンドラーからこのメソッドを呼び出した場合、この数値は書き込み開始前の使用済みセクター数を表します。
オーディオトラックの書き込み後もメディアを書き込み可能な状態のままにするかどうかを設定します。(Put)
| value | VARIANT_BOOL | in | オーディオトラックの書き込み後もメディアを書き込み可能な状態のままにする場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE を設定します。既定値は VARIANT_FALSE です。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
書き込み操作が進行中です。
値: 0xC0AA0500 |
|
|
メディアが「準備済み」の状態で解放されていない場合、要求された操作は無効です。
値: 0xC0AA0503 |
|
|
メディアへの書き込みが行われた後は、このプロパティを変更できません。
値: 0xC0AA0504 |
解説(Remarks)
このプロパティは、IDiscFormat2TrackAtOnce::PrepareMedia メソッドを呼び出す前、または IDiscFormat2TrackAtOnce::ReleaseMedia メソッドを呼び出した後に設定できます。トラック書き込みセッションの実行中には設定できません。
このプロパティは、最初のセッションにオーディオ、2 番目のセッションにデータを収めたマルチセッション CD を作成する場合に役立ちます。
オーディオトラックの書き込み後もメディアを書き込み可能な状態のままにするかどうかを取得します。(Get)
| value | VARIANT_BOOL* | out | オーディオトラックの書き込み後もメディアが書き込み可能な状態のままになる場合は VARIANT_TRUE、それ以外の場合は VARIANT_FALSE になります。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
トラック書き込みセッション内でメディアに配置されたオーディオトラックの目次 (TOC) を取得します。
| value | SAFEARRAY** | out | トラック書き込みセッション内でメディアに配置されたオーディオトラックの目次 (TOC)。リストの各要素は VT_BYREF|VT_UI1 型の VARIANT です。VARIANT の pbVal メンバーにはバイナリ BLOB が格納されます。BLOB の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5/mmc5r03.pdf の READ TOC コマンドを参照してください。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
書き込み操作が進行中です。
値: 0xC0AA0500 |
|
|
メディアが準備されていません (IDiscFormat2TrackAtOnce::PrepareMedia が呼び出されていません)。
値: 0xC0AA0502 |
|
|
メディアはブランクです。
値: 0xC0AA0505 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
解説(Remarks)
このプロパティには、トラック書き込みセッション外ではアクセスできません。また、ディスクがブランクの場合もアクセスできません。
ディスクデバイスに入っているメディアの種類を取得します。(IDiscFormat2TrackAtOnce.get_CurrentPhysicalMediaType)
| value | IMAPI_MEDIA_PHYSICAL_TYPE* | out | ディスクデバイスに入っているメディアの種類。指定できる値については、IMAPI_MEDIA_PHYSICAL_TYPE 列挙型を参照してください。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
使用するレコーダーを選択するまで、メディアを準備することはできません。
値: 0xC0AA050A |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
クライアントのフレンドリ名を設定します。(IDiscFormat2TrackAtOnce.put_ClientName)
| value | LPWSTR | in | クライアントアプリケーションの名前。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
クライアント名が有効ではありません。
値: 0xC0AA050F |
|
|
書き込み操作が進行中です。
値: 0xC0AA0500 |
|
|
メディアが「準備済み」の状態で解放されていない場合、要求された操作は無効です。
値: 0xC0AA0503 |
解説(Remarks)
この名前は、書き込み操作がデバイスへの排他アクセスを要求する際に使用されます。ロックを保持しているクライアントの名前は IDiscRecorder2::get_ExclusiveAccessOwner プロパティに格納されます。
書き込み操作中に CDROM デバイスへの読み取り/書き込みアクセス権を持つアプリケーションであれば、IOCTL_CDROM_EXCLUSIVE_ACCESS (query) 制御コード (Microsoft Windows Driver Development Kit (DDK) を参照) を使用してこの名前を取得できます。そのため、このインターフェイスを使用してメディアに書き込んでいるプログラムを識別できる名前にすることが重要です。名前に使用できる文字セットは、IOCTL_CDROM_EXCLUSIVE_ACCESS 制御コードが要求するものと同じ制限を受けます。
クライアントのフレンドリ名を取得します。(IDiscFormat2TrackAtOnce.get_ClientName)
| value | LPWSTR* | out | クライアントアプリケーションが指定した名前。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
要求された書き込み速度を取得します。(IDiscFormat2TrackAtOnce.get_RequestedWriteSpeed)
| value | INT* | out | 要求された書き込み速度 (1 秒あたりのディスクセクター数)。 0xFFFFFFFF (-1) は、そのメディアでサポートされる最高速度で書き込むことを要求します。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
解説(Remarks)
これは、IDiscFormat2TrackAtOnce::SetWriteSpeed メソッドの直近の呼び出しで指定された値です。
要求された回転速度制御の種類を取得します。(IDiscFormat2TrackAtOnce.get_RequestedRotationTypeIsPureCAV)
| value | VARIANT_BOOL* | out | 要求された回転速度制御の種類。角速度一定 (CAV) の回転速度制御の場合は VARIANT_TRUE になります。それ以外の場合、つまりレコーダーがサポートする他の回転速度制御の場合は VARIANT_FALSE になります。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
解説(Remarks)
これは、IDiscFormat2TrackAtOnce::SetWriteSpeed メソッドの直近の呼び出しで指定された値です。
ドライブの現在の書き込み速度を取得します。(IDiscFormat2TrackAtOnce.get_CurrentWriteSpeed)
| value | INT* | out | 現在のメディアの書き込み速度 (1 秒あたりのセクター数)。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
使用するレコーダーを選択するまで、メディアを準備することはできません。
値: 0xC0AA050A |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。
値: 0xC0AA0301 |
解説(Remarks)
要求された書き込み速度を取得するには、IDiscFormat2TrackAtOnce::get_RequestedWriteSpeed メソッドを呼び出します。
レコーダーと現在のメディアがサポートする書き込み速度の一覧を取得するには、IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds メソッドを呼び出します。
なお、書き込み速度はメディアの書き込み速度に基づきます。メディアが交換されると、このプロパティの値が変わることがあります。
レコーダーが現在使用している回転速度制御を取得します。(IDiscFormat2TrackAtOnce.get_CurrentRotationTypeIsPureCAV)
| value | VARIANT_BOOL* | out | 角速度一定 (CAV) の回転速度制御が使用されている場合は VARIANT_TRUE になります。それ以外の場合は VARIANT_FALSE となり、レコーダーがサポートする別の回転速度制御が使用されていることを示します。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
使用するレコーダーを選択するまで、メディアを準備することはできません。
値: 0xC0AA050A |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。
値: 0xC0AA0301 |
解説(Remarks)
要求された回転速度制御を取得するには、IDiscFormat2TrackAtOnce::get_RequestedRotationTypeIsPureCAV メソッドを呼び出します。
回転速度制御の種類には次のものがあります。
- CLV (Constant Linear Velocity、線速度一定)。ディスクは一定の速度で書き込まれます。標準的な回転制御です。
- CAV (Constant Angular Velocity、角速度一定)。ディスクは連続的に増加する速度で書き込まれます。
- ZCAV (Zone Constant Angular Velocity、ゾーン角速度一定)。ディスクはゾーンに分割され、各ゾーンを過ぎるごとに書き込み速度が増加します。これは CAV の純粋ではない形態です。
- PCAV (Partial Constant Angular Velocity、部分角速度一定)。ディスクの速度は指定された速度まで増加します。その速度に達した後は、ディスクへの書き込みが終わるまで指定された速度で回転します。
ディスクレコーダーと現在のメディアがサポートする書き込み速度の一覧を取得します。(IDiscFormat2TrackAtOnce.get_SupportedWriteSpeeds)
| supportedSpeeds | SAFEARRAY** | out | ディスクレコーダーと現在のメディアがサポートする書き込み速度の一覧。リストの各要素は VT_UI4 型の VARIANT です。VARIANT の ulVal メンバーには 1 秒あたりに書き込まれるセクター数が格納されます。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
使用するレコーダーを選択するまで、メディアを準備することはできません。
値: 0xC0AA050A |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。
値: 0xC0AA0301 |
解説(Remarks)
IDiscFormat2TrackAtOnce::SetWriteSpeed メソッドを呼び出して書き込み速度を設定する際に、この一覧の速度を使用できます。
レコーダーと現在のメディアがサポートする書き込み構成の一覧を取得するには、IDiscFormat2TrackAtOnce::get_SupportedWriteSpeedDescriptors メソッドを呼び出します。
ディスクレコーダーと現在のメディアがサポートする詳細な書き込み構成の一覧を取得します。(IDiscFormat2TrackAtOnce.get_SupportedWriteSpeedDescriptors)
| supportedSpeedDescriptors | SAFEARRAY** | out | ディスクレコーダーと現在のメディアがサポートする詳細な書き込み構成の一覧。リストの各要素は VT_Dispatch 型の VARIANT です。VARIANT の pdispVal メンバーに対して IWriteSpeedDescriptor インターフェイスをクエリすると、メディアの種類、書き込み速度、回転速度制御の種類を取得できます。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返される場合があります。操作が失敗した場合は一般に次のエラーコードが返されますが、返される可能性のあるエラー値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
使用するレコーダーを選択するまで、メディアを準備することはできません。
値: 0xC0AA050A |
|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
原因不明のエラーです。
値: 0x80004005 |
|
|
必要なメモリの割り当てに失敗しました。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けませんでした。デバイスが不整合な状態になったか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。メディアを使用する前にフォーマットの完了をお待ちください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理などの長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない場合があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できる速さでデータを受信できなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「buffer underrun free」設定を有効にすることで解決する場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアが使用された可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) は存在しないと報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないと報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていると報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速のメディアを使用したことが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルは無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは使用できなくなりました。
値: 55 |
|
直前の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
ドライブが回復不能なエラー情報を返したため、書き込みに失敗しました。
値: 0xC0AA0301 |
解説(Remarks)
レコーダーと現在のメディアがサポートする書き込み速度の一覧を取得するには、IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds メソッドを呼び出します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDiscFormat2TrackAtOnce "{27354154-8F64-5B0F-8F00-5D77AFBE261E}" #usecom global IDiscFormat2TrackAtOnce IID_IDiscFormat2TrackAtOnce "{}" #comfunc global IDiscFormat2TrackAtOnce_PrepareMedia 12 #comfunc global IDiscFormat2TrackAtOnce_AddAudioTrack 13 sptr #comfunc global IDiscFormat2TrackAtOnce_CancelAddTrack 14 #comfunc global IDiscFormat2TrackAtOnce_ReleaseMedia 15 #comfunc global IDiscFormat2TrackAtOnce_SetWriteSpeed 16 int,int #comfunc global IDiscFormat2TrackAtOnce_put_Recorder 17 sptr #comfunc global IDiscFormat2TrackAtOnce_get_Recorder 18 sptr #comfunc global IDiscFormat2TrackAtOnce_put_BufferUnderrunFreeDisabled 19 int #comfunc global IDiscFormat2TrackAtOnce_get_BufferUnderrunFreeDisabled 20 var #comfunc global IDiscFormat2TrackAtOnce_get_NumberOfExistingTracks 21 var #comfunc global IDiscFormat2TrackAtOnce_get_TotalSectorsOnMedia 22 var #comfunc global IDiscFormat2TrackAtOnce_get_FreeSectorsOnMedia 23 var #comfunc global IDiscFormat2TrackAtOnce_get_UsedSectorsOnMedia 24 var #comfunc global IDiscFormat2TrackAtOnce_put_DoNotFinalizeMedia 25 int #comfunc global IDiscFormat2TrackAtOnce_get_DoNotFinalizeMedia 26 var #comfunc global IDiscFormat2TrackAtOnce_get_ExpectedTableOfContents 27 var #comfunc global IDiscFormat2TrackAtOnce_get_CurrentPhysicalMediaType 28 var #comfunc global IDiscFormat2TrackAtOnce_put_ClientName 29 wstr #comfunc global IDiscFormat2TrackAtOnce_get_ClientName 30 var #comfunc global IDiscFormat2TrackAtOnce_get_RequestedWriteSpeed 31 var #comfunc global IDiscFormat2TrackAtOnce_get_RequestedRotationTypeIsPureCAV 32 var #comfunc global IDiscFormat2TrackAtOnce_get_CurrentWriteSpeed 33 var #comfunc global IDiscFormat2TrackAtOnce_get_CurrentRotationTypeIsPureCAV 34 var #comfunc global IDiscFormat2TrackAtOnce_get_SupportedWriteSpeeds 35 var #comfunc global IDiscFormat2TrackAtOnce_get_SupportedWriteSpeedDescriptors 36 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IDiscFormat2TrackAtOnce "{27354154-8F64-5B0F-8F00-5D77AFBE261E}" #usecom global IDiscFormat2TrackAtOnce IID_IDiscFormat2TrackAtOnce "{}" #comfunc global IDiscFormat2TrackAtOnce_PrepareMedia 12 #comfunc global IDiscFormat2TrackAtOnce_AddAudioTrack 13 sptr #comfunc global IDiscFormat2TrackAtOnce_CancelAddTrack 14 #comfunc global IDiscFormat2TrackAtOnce_ReleaseMedia 15 #comfunc global IDiscFormat2TrackAtOnce_SetWriteSpeed 16 int,int #comfunc global IDiscFormat2TrackAtOnce_put_Recorder 17 sptr #comfunc global IDiscFormat2TrackAtOnce_get_Recorder 18 sptr #comfunc global IDiscFormat2TrackAtOnce_put_BufferUnderrunFreeDisabled 19 int #comfunc global IDiscFormat2TrackAtOnce_get_BufferUnderrunFreeDisabled 20 sptr #comfunc global IDiscFormat2TrackAtOnce_get_NumberOfExistingTracks 21 sptr #comfunc global IDiscFormat2TrackAtOnce_get_TotalSectorsOnMedia 22 sptr #comfunc global IDiscFormat2TrackAtOnce_get_FreeSectorsOnMedia 23 sptr #comfunc global IDiscFormat2TrackAtOnce_get_UsedSectorsOnMedia 24 sptr #comfunc global IDiscFormat2TrackAtOnce_put_DoNotFinalizeMedia 25 int #comfunc global IDiscFormat2TrackAtOnce_get_DoNotFinalizeMedia 26 sptr #comfunc global IDiscFormat2TrackAtOnce_get_ExpectedTableOfContents 27 sptr #comfunc global IDiscFormat2TrackAtOnce_get_CurrentPhysicalMediaType 28 sptr #comfunc global IDiscFormat2TrackAtOnce_put_ClientName 29 wstr #comfunc global IDiscFormat2TrackAtOnce_get_ClientName 30 sptr #comfunc global IDiscFormat2TrackAtOnce_get_RequestedWriteSpeed 31 sptr #comfunc global IDiscFormat2TrackAtOnce_get_RequestedRotationTypeIsPureCAV 32 sptr #comfunc global IDiscFormat2TrackAtOnce_get_CurrentWriteSpeed 33 sptr #comfunc global IDiscFormat2TrackAtOnce_get_CurrentRotationTypeIsPureCAV 34 sptr #comfunc global IDiscFormat2TrackAtOnce_get_SupportedWriteSpeeds 35 sptr #comfunc global IDiscFormat2TrackAtOnce_get_SupportedWriteSpeedDescriptors 36 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。