IDiscRecorder2Ex
COM公式ドキュメント
このインターフェースは物理デバイスを表します。
解説(Remarks)
メディアにデータを書き込むには、IWriteEngine2::put_Recorder メソッドを使用して、このレコーダーを IWriteEngine2 データライターに関連付ける必要があります。
メソッド 18
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
MMC コマンドを記録デバイスに送信します。デバイスとの間でデータバッファーの送受信を行わない場合に、この関数を使用します。
| Cdb | BYTE* | in | デバイスに送信するコマンドパケット。 |
| CdbSize | DWORD | in | 送信するコマンドパケットのサイズ (バイト単位)。6 ~ 16 バイトである必要があります。 |
| SenseBuffer | BYTE* | out | 記録デバイスから返されるセンスデータ。 |
| Timeout | DWORD | in | 送信したコマンドの結果を受け取るまでに許容される制限時間 (秒単位)。 |
戻り値
成功時には S_OK または次のいずれかの値が返されますが、実装によっては他の成功コードが返される場合もあります。
| 戻り値 | 説明 |
|---|---|
|
デバイスはコマンドに失敗しましたが、センスデータを返しました。
値: 0x00AA0200 |
操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
解説(Remarks)
コマンドパケットおよびセンスデータの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版を参照してください。
このメソッドで使用するクライアント定義コマンド (CDB) は、長さが 6 ~ 16 バイトである必要があります。さらに、各コマンドのサイズは、次の表に示すオペレーションコードごとに定義されたサイズと一致している必要があります。
| CDB オペレーションコードの範囲 | CDB グループ | 必要な CDB サイズ |
|---|---|---|
| 0x00 — 0x1F | 0 | 6 バイト |
| 0x20 — 0x3F | 1 | 10 バイト |
| 0x40 — 0x5F | 2 | 10 バイト |
| 0x60 — 0x7F | 3 | このオペコード範囲については、将来的に標準で規定されたサイズ要件が適用される予定です。 |
| 0x80 — 0x9F | 4 | 16 バイト |
| 0xA0 — 0xBF | 5 | 12 バイト |
| 0xC0 — 0xDF | 6 | ベンダー固有 - 任意のサイズが許可されます |
| 0xE0 — 0xFF | 7 | ベンダー固有 - 任意のサイズが許可されます |
ごく初期の一部のデバイスはベンダー固有のオペコードを使用していたため、一部のオペコードはこの方法では検証できません。次のオペコードは引き続き有効であり、サイズが 6 ~ 16 バイトの範囲であることのみが検証されます。
0x02, 0x05, 0x06, 0x09, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x13, 0x14, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x26, 0x27, 0x29, 0x2C, 0x2D
MMC コマンドと、それに関連付けられたデータバッファーを記録デバイスに送信します。
| Cdb | BYTE* | in | デバイスに送信するコマンドパケット。 |
| CdbSize | DWORD | in | 送信するコマンドパケットのサイズ (バイト単位)。6 ~ 16 バイトである必要があります。 |
| SenseBuffer | BYTE* | out | 記録デバイスから返されるセンスデータ。 |
| Timeout | DWORD | in | 送信したコマンドの結果を受け取るまでに許容される制限時間 (秒単位)。 |
| Buffer | BYTE* | in | 送信コマンドに関連付けられたデータを格納するバッファー。NULL にすることはできません。 |
| BufferSize | DWORD | in | 送信するデータバッファーのサイズ (バイト単位)。ゼロにすることはできません。 |
戻り値
成功時には S_OK または次のいずれかの値が返されますが、実装によっては他の成功コードが返される場合もあります。
| 戻り値 | 説明 |
|---|---|
|
デバイスはコマンドに失敗しましたが、センスデータを返しました。
値: 0x00AA0200 |
操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
解説(Remarks)
コマンドパケット、センスデータ、および入力データバッファーの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版を参照してください。
このメソッドで使用するクライアント定義コマンド (CDB) は、長さが 6 ~ 16 バイトである必要があります。さらに、各コマンドのサイズは、次の表に示すオペレーションコードごとに定義されたサイズと一致している必要があります。
| CDB オペレーションコードの範囲 | CDB グループ | 必要な CDB サイズ |
|---|---|---|
| 0x00 — 0x1F | 0 | 6 バイト |
| 0x20 — 0x3F | 1 | 10 バイト |
| 0x40 — 0x5F | 2 | 10 バイト |
| 0x60 — 0x7F | 3 | このオペコード範囲については、将来的に標準で規定されたサイズ要件が適用される予定です。 |
| 0x80 — 0x9F | 4 | 16 バイト |
| 0xA0 — 0xBF | 5 | 12 バイト |
| 0xC0 — 0xDF | 6 | ベンダー固有 - 任意のサイズが許可されます |
| 0xE0 — 0xFF | 7 | ベンダー固有 - 任意のサイズが許可されます |
ごく初期の一部のデバイスはベンダー固有のオペコードを使用していたため、一部のオペコードはこの方法では検証できません。次のオペコードは引き続き有効であり、サイズが 6 ~ 16 バイトの範囲であることのみが検証されます。
0x02, 0x05, 0x06, 0x09, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x13, 0x14, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x26, 0x27, 0x29, 0x2C, 0x2D
デバイスからのデータを要求する MMC コマンドを記録デバイスに送信します。
| Cdb | BYTE* | in | デバイスに送信するコマンドパケット。 |
| CdbSize | DWORD | in | 送信するコマンドパケットのサイズ (バイト単位)。6 ~ 16 バイトである必要があります。 |
| SenseBuffer | BYTE* | out | 記録デバイスから返されるセンスデータ。 |
| Timeout | DWORD | in | 送信したコマンドの結果を受け取るまでに許容される制限時間 (秒単位)。 |
| Buffer | BYTE* | out | 送信コマンドに関連付けられたデータを受け取る、アプリケーションが割り当てたデータバッファー。NULL にすることはできません。 |
| BufferSize | DWORD | in | Buffer データバッファーのサイズ (バイト単位)。ゼロにすることはできません。 |
| BufferFetched | DWORD* | out | Buffer データバッファーに返されたデータのサイズ (バイト単位)。 |
戻り値
成功時には S_OK または次のいずれかの値が返されますが、実装によっては他の成功コードが返される場合もあります。
| 戻り値 | 説明 |
|---|---|
| デバイスはコマンドに失敗しましたが、センスデータを返しました。 |
操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
解説(Remarks)
コマンドパケット、センスデータ、および出力データバッファーの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版を参照してください。
このメソッドで使用するクライアント定義コマンド (CDB) は、長さが 6 ~ 16 バイトである必要があります。さらに、各コマンドのサイズは、次の表に示すオペレーションコードごとに定義されたサイズと一致している必要があります。
| CDB オペレーションコードの範囲 | CDB グループ | 必要な CDB サイズ |
|---|---|---|
| 0x00 — 0x1F | 0 | 6 バイト |
| 0x20 — 0x3F | 1 | 10 バイト |
| 0x40 — 0x5F | 2 | 10 バイト |
| 0x60 — 0x7F | 3 | このオペコード範囲については、将来的に標準で規定されたサイズ要件が適用される予定です。 |
| 0x80 — 0x9F | 4 | 16 バイト |
| 0xA0 — 0xBF | 5 | 12 バイト |
| 0xC0 — 0xDF | 6 | ベンダー固有 - 任意のサイズが許可されます |
| 0xE0 — 0xFF | 7 | ベンダー固有 - 任意のサイズが許可されます |
ごく初期の一部のデバイスはベンダー固有のオペコードを使用していたため、一部のオペコードはこの方法では検証できません。次のオペコードは引き続き有効であり、サイズが 6 ~ 16 バイトの範囲であることのみが検証されます。
0x02, 0x05, 0x06, 0x09, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x13, 0x14, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x26, 0x27, 0x29, 0x2C, 0x2D
メディアから DVD 構造を読み取ります。
| format | DWORD | in | コマンドパケットの Format フィールド。指定できる値は 0 から 0xFF の範囲です。 注 この値は UCHAR に切り詰められます。
|
| address | DWORD | in | コマンドパケットの Address フィールド。 |
| layer | DWORD | in | コマンドパケットの Layer フィールド。 |
| agid | DWORD | in | コマンドパケットの認証許可 ID (AGID) フィールド。 |
| data | BYTE** | out | DVD 構造を格納するデータバッファー。データバッファーの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版の READ DISC STRUCTURE コマンドを参照してください。 このメソッドはバッファーからヘッダーを削除します。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| count | DWORD* | out | データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020E |
解説(Remarks)
このメソッドは、READ DISC STRUCTURE コマンドを扱う際の複雑さを解消します。format、address、layer、agid の各パラメーターに指定する値の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版で READ DISC STRUCTURE コマンドの各フィールドの説明を参照してください。
メディアに DVD 構造を送信します。
| format | DWORD | in | コマンドパケットの Format フィールド。指定できる値は 0 から 0xFF の範囲です。 |
| data | BYTE* | in | メディアに送信する DVD 構造を格納するデータバッファー。ヘッダーは含めないでください。このメソッドがヘッダーを生成し、DVD 構造の先頭に付加します。 |
| count | DWORD | in | データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
解説(Remarks)
構造の各フィールドの指定方法の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版の SEND DISC STRUCTURE コマンドを参照してください。
デバイスのアダプター記述子を取得します。
| data | BYTE** | out | ストレージアダプターの記述子を格納するデータバッファー。データバッファーの内容の詳細については、DDK の STORAGE_ADAPTER_DESCRIPTOR 構造体を参照してください 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| byteSize | DWORD* | out | データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
デバイスのデバイス記述子を取得します。
| data | BYTE** | out | ストレージデバイスの記述子を格納するデータバッファー。データバッファーの内容の詳細については、DDK の STORAGE_DEVICE_DESCRIPTOR 構造体を参照してください 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| byteSize | DWORD* | out | データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
メディアからディスク情報を取得します。
| discInformation | BYTE** | out | メディアのディスク情報を格納するデータバッファー。データバッファーの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版の READ DISC INFORMATION コマンドを参照してください。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| byteSize | DWORD* | out | データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
解説(Remarks)
返されたデータの解釈方法の詳細については、MMC 仕様を参照してください。
メディアからトラック情報を取得します。
| address | DWORD | in | Address フィールド。addressType パラメーターが、このパラメーターの解釈に必要な追加情報を提供します。 |
| addressType | IMAPI_READ_TRACK_ADDRESS_TYPE | in | address パラメーターで指定したアドレスの種類 (LBA アドレスかトラック番号かなど)。指定できる値については、IMAPI_READ_TRACK_ADDRESS_TYPE 列挙型を参照してください。 |
| trackInformation | BYTE** | out | トラック情報を格納するデータバッファー。データバッファーの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版の READ TRACK INFORMATION コマンドを参照してください。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| byteSize | DWORD* | out | trackInformation データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
デバイスから指定された機能ページを取得します。
| requestedFeature | IMAPI_FEATURE_PAGE_TYPE | in | 取得する機能ページ。指定できる値については、IMAPI_FEATURE_PAGE_TYPE 列挙型を参照してください。 |
| currentFeatureOnly | BOOLEAN | in | 現在の機能ページである場合にのみ機能ページを取得するには True を指定します。現在の機能ページかどうかに関係なく取得するには False を指定します。 |
| featureData | BYTE** | out | 機能ページを格納するデータバッファー。データバッファーの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版の GET CONFIGURATION コマンドを参照してください。 このメソッドは、ヘッダー情報および機能ページ以外のデータを取り除いたうえで、このバッファーにデータを格納して返します。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| byteSize | DWORD* | out | featureData データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
デバイスから指定されたモードページを取得します。
| requestedModePage | IMAPI_MODE_PAGE_TYPE | in | 取得するモードページ。指定できる値については、IMAPI_MODE_PAGE_TYPE 列挙型を参照してください。 |
| requestType | IMAPI_MODE_PAGE_REQUEST_TYPE | in | 取得するモードページデータの種類 (現在の設定、書き込みが有効な設定など)。指定できる値については、IMAPI_MODE_PAGE_REQUEST_TYPE 列挙型を参照してください。 |
| modePageData | BYTE** | out | モードページを格納するデータバッファー。データバッファーの内容の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版の MODE SENSE (10) コマンドを参照してください。 このメソッドは、ヘッダー情報およびページ以外のデータを取り除いたうえでバッファーを返します。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| byteSize | DWORD* | out | modePageData データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
デバイスのモードページデータを設定します。
| requestType | IMAPI_MODE_PAGE_REQUEST_TYPE | in | 送信するモードページデータの種類。指定できる値については、IMAPI_MODE_PAGE_REQUEST_TYPE 列挙型を参照してください。 |
| data | BYTE* | in | メディアに送信するモードページデータを格納するデータバッファー。ヘッダーは含めないでください。このメソッドがヘッダーを生成し、モードページデータの先頭に付加します。 モードページデータの各フィールドの指定方法の詳細については、ftp://ftp.t10.org/t10/drafts/mmc5 にある MMC 仕様の最新版の MODE SELECT (10) コマンドを参照してください。 |
| byteSize | DWORD | in | データバッファーのサイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
デバイスがサポートする機能ページの一覧、または現在の機能ページを取得します。
| currentFeatureOnly | BOOLEAN | in | 現在の機能ページのみを取得するには True を指定します。デバイスがサポートするすべての機能ページを取得するには False を指定します。 |
| featureData | IMAPI_FEATURE_PAGE_TYPE** | out | 1 つ以上の機能ページの種類を格納するデータバッファー。指定できる値については、IMAPI_FEATURE_PAGE_TYPE 列挙型を参照してください。 機能ページの種類に対応する機能ページデータを取得するには、IDiscRecorder2Ex::GetFeaturePage メソッドを呼び出します。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| byteSize | DWORD* | out | featureData データバッファーに格納されている、サポートされる機能ページの数。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
デバイスがサポートするプロファイル、または現在のプロファイルを取得します。
| currentOnly | BOOLEAN | in | 現在のプロファイルを取得するには True を指定します。デバイスがサポートするすべてのプロファイルを返すには False を指定します。 |
| profileTypes | IMAPI_PROFILE_TYPE** | out | 1 つ以上のプロファイルの種類を格納するデータバッファー。指定できる値については、IMAPI_PROFILE_TYPE 列挙型を参照してください。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| validProfiles | DWORD* | out | profileTypes データバッファーに格納されている、サポートされるプロファイルの数。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
ドライブが GET CONFIGURATION コマンドをサポートしていません。
値: 0xC0AA020C |
|
|
要求された機能ページはデバイスでサポートされていません。
値: 0xC0AA020A |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
要求された機能ページはサポートされていますが、現在の機能ページとして設定されていません。
値: 0xC0AA020B |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
デバイスがサポートするモードページを取得します。
| requestType | IMAPI_MODE_PAGE_REQUEST_TYPE | in | 取得するモードページデータの種類 (現在の設定、書き込みが有効な設定など)。指定できる値については、IMAPI_MODE_PAGE_REQUEST_TYPE 列挙型を参照してください。 |
| modePageTypes | IMAPI_MODE_PAGE_TYPE** | out | 1 つ以上のモードページの種類を格納するデータバッファー。指定できる値については、IMAPI_MODE_PAGE_TYPE 列挙型を参照してください。 モードページの種類に対応するモードページデータを取得するには、IDiscRecorder2Ex::GetModePage メソッドを呼び出します。 使用が終わったら、CoTaskMemFree 関数を呼び出してメモリを解放してください。 |
| validPages | DWORD* | out | データバッファー内のモードページの数。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
1 つ以上の引数が有効ではありません。
値: 0x80070057 |
|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
|
|
必要なメモリを割り当てられませんでした。
値: 0x8007000E |
|
|
デバイスがタイムアウト期間内にコマンドを受け付けられませんでした。デバイスが不整合な状態になっているか、コマンドのタイムアウト値を大きくする必要がある可能性があります。
値: 0xC0AA020D |
|
|
デバイスがコマンドに対して予期しないデータまたは無効なデータを報告しました。
値: 0xC0AA02FF |
|
|
メディアが裏返しに挿入されています。
値: 0xC0AA0204 |
|
|
ドライブが準備中であることを報告しました。しばらくしてから要求をやり直してください。
値: 0xC0AA0205 |
|
|
デバイスにメディアが入っていません。
値: 0xC0AA0202 |
|
|
メディアは現在フォーマット中です。フォーマットが完了するまで待ってから、メディアを使用してください。
値: 0xC0AA0206 |
|
|
ドライブが、書き込みの終了処理など長時間かかる操作を実行中であることを報告しました。ドライブは長時間使用できない可能性があります。
値: 0xC0AA0207 |
|
|
ドライブが書き込みを継続できるだけの速さでデータを受け取れなかったため、書き込みに失敗しました。ソースデータをローカルコンピューターに移動する、書き込み速度を下げる、または「バッファーアンダーランフリー」設定を有効にすることで、この問題を解決できる場合があります。
値: 0xC0AA0300 |
|
|
メディアに互換性がないか、物理フォーマットが不明です。
値: 0xC0AA0203 |
|
|
DVD 構造が存在しません。互換性のないドライブまたはメディアを使用していることが原因の可能性があります。
値: 0xC0AA020E |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
|
|
ドライブが、MODE SELECT コマンドのモードページで指定されたパラメーターの組み合わせはサポートされていないことを報告しました。
値: 0xC0AA0208 |
|
|
ドライブが、メディアは書き込み保護されていることを報告しました。
値: 0xC0AA0209 |
|
|
メディアの速度がデバイスと互換性がありません。デバイスがサポートする速度範囲より高速または低速なメディアを使用していることが原因の可能性があります。
値: 0xC0AA020F |
|
|
指定されたハンドルが無効です。
値: 6 |
|
指定されたネットワークリソースまたはデバイスは、使用できなくなりました。
値: 55 |
|
前回の操作でこのレコーダーに関連付けられたデバイスが排他的にロックされているため、この操作は失敗しました。
値: 0xC0AA0210 |
|
|
デバイスが、要求されたモードページ (およびその種類) が存在しないことを報告しました。
値: 0xC0AA0201 |
デバイスのバイトアラインメントマスクを取得します。
| value | DWORD* | out | バッファーがデバイスにとって正しいバイト境界にアラインされているかどうかを判定するために使用するバイトアラインメントマスク。バイトアラインメント値は常に 2 のべき乗の数値です。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
解説(Remarks)
IDiscRecorder2Ex::SendCommandSendDataToDevice および IDiscRecorder2Ex::SendCommandGetDataFromDevice のデータバッファーは、正しいバイト境界にアラインされている必要があります。バッファーが正しいバイト境界にあるかどうかを判定するには、このビットマスクとデータバッファーのアドレスのビットごとの論理積を求めます。たとえば、バッファーのアドレスが 0x3840958 の場合、次のステートメントで正しくアラインされているかどうかをテストできます。
if (0x3840958 & (value - 1) == 0)
{
// アラインメントは正しい
}
デバイスにおける、ページ境界にアラインされていないバッファーの最大転送サイズを取得します。
| value | DWORD* | out | ページ境界にアラインされていないバッファーの最大サイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
解説(Remarks)
これは、デバイスが 1 回のコマンドで受け付けられる最大のバッファーサイズです。このサイズのバッファーを使用すると、データ交換量を最大にできます。バッファーは物理メモリのページ境界から始まる必要はありません。
デバイスにおける、ページ境界にアラインされたバッファーの最大転送サイズを取得します。
| value | DWORD* | out | ページ境界にアラインされたバッファーの最大サイズ (バイト単位)。 |
戻り値
成功時には S_OK が返されますが、実装によっては他の成功コードが返される場合もあります。操作が失敗した場合、一般的には次のエラーコードが返されますが、返される可能性がある値はこれらだけではありません。
| 戻り値 | 説明 |
|---|---|
|
ポインターが有効ではありません。
値: 0x80004003 |
|
|
不特定のエラーです。
値: 0x80004005 |
解説(Remarks)
デバイスが 1 回のコマンドで受け付けられる、ページ境界にアラインされたバッファーの最大サイズ。この転送サイズのバッファーは、物理メモリのページ境界から始まる必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDiscRecorder2Ex "{27354132-7F64-5B0F-8F00-5D77AFBE261E}" #usecom global IDiscRecorder2Ex IID_IDiscRecorder2Ex "{}" #comfunc global IDiscRecorder2Ex_SendCommandNoData 3 var,int,var,int #comfunc global IDiscRecorder2Ex_SendCommandSendDataToDevice 4 var,int,var,int,var,int #comfunc global IDiscRecorder2Ex_SendCommandGetDataFromDevice 5 var,int,var,int,var,int,var #comfunc global IDiscRecorder2Ex_ReadDvdStructure 6 int,int,int,int,var,var #comfunc global IDiscRecorder2Ex_SendDvdStructure 7 int,var,int #comfunc global IDiscRecorder2Ex_GetAdapterDescriptor 8 var,var #comfunc global IDiscRecorder2Ex_GetDeviceDescriptor 9 var,var #comfunc global IDiscRecorder2Ex_GetDiscInformation 10 var,var #comfunc global IDiscRecorder2Ex_GetTrackInformation 11 int,int,var,var #comfunc global IDiscRecorder2Ex_GetFeaturePage 12 int,int,var,var #comfunc global IDiscRecorder2Ex_GetModePage 13 int,int,var,var #comfunc global IDiscRecorder2Ex_SetModePage 14 int,var,int #comfunc global IDiscRecorder2Ex_GetSupportedFeaturePages 15 int,var,var #comfunc global IDiscRecorder2Ex_GetSupportedProfiles 16 int,var,var #comfunc global IDiscRecorder2Ex_GetSupportedModePages 17 int,var,var #comfunc global IDiscRecorder2Ex_GetByteAlignmentMask 18 var #comfunc global IDiscRecorder2Ex_GetMaximumNonPageAlignedTransferSize 19 var #comfunc global IDiscRecorder2Ex_GetMaximumPageAlignedTransferSize 20 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDiscRecorder2Ex "{27354132-7F64-5B0F-8F00-5D77AFBE261E}" #usecom global IDiscRecorder2Ex IID_IDiscRecorder2Ex "{}" #comfunc global IDiscRecorder2Ex_SendCommandNoData 3 sptr,int,sptr,int #comfunc global IDiscRecorder2Ex_SendCommandSendDataToDevice 4 sptr,int,sptr,int,sptr,int #comfunc global IDiscRecorder2Ex_SendCommandGetDataFromDevice 5 sptr,int,sptr,int,sptr,int,sptr #comfunc global IDiscRecorder2Ex_ReadDvdStructure 6 int,int,int,int,sptr,sptr #comfunc global IDiscRecorder2Ex_SendDvdStructure 7 int,sptr,int #comfunc global IDiscRecorder2Ex_GetAdapterDescriptor 8 sptr,sptr #comfunc global IDiscRecorder2Ex_GetDeviceDescriptor 9 sptr,sptr #comfunc global IDiscRecorder2Ex_GetDiscInformation 10 sptr,sptr #comfunc global IDiscRecorder2Ex_GetTrackInformation 11 int,int,sptr,sptr #comfunc global IDiscRecorder2Ex_GetFeaturePage 12 int,int,sptr,sptr #comfunc global IDiscRecorder2Ex_GetModePage 13 int,int,sptr,sptr #comfunc global IDiscRecorder2Ex_SetModePage 14 int,sptr,int #comfunc global IDiscRecorder2Ex_GetSupportedFeaturePages 15 int,sptr,sptr #comfunc global IDiscRecorder2Ex_GetSupportedProfiles 16 int,sptr,sptr #comfunc global IDiscRecorder2Ex_GetSupportedModePages 17 int,sptr,sptr #comfunc global IDiscRecorder2Ex_GetByteAlignmentMask 18 sptr #comfunc global IDiscRecorder2Ex_GetMaximumNonPageAlignedTransferSize 19 sptr #comfunc global IDiscRecorder2Ex_GetMaximumPageAlignedTransferSize 20 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。