次の方法で共有


IDiscFormat2Data::Write メソッド (imapi2.h)

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

メモ 書き込みが成功するには、渡されたストリームのサイズがセクター サイズの倍数である必要があります(2048)。 これには、IMAPI によって作成されない .iso イメージに関連付けられたストリームを利用する操作が含まれます。

 

構文

HRESULT Write(
  [in] IStream *data
);

パラメーター

[in] data

書き込むデータ ストリームの 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
ドライブが書き込みを続行するのに十分な速さでデータを受信できなかったため、書き込みに失敗しました。 ソース データをローカル コンピューターに移動したり、書き込み速度を低下させたり、"バッファー アンダーランフリー" 設定を有効にしたりすると、この問題が解決する可能性があります。

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

解説

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

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

連続して記録されたディスクでは、指定された IStream が新しいセッションとして記録されます。 書き換え可能なディスクでは、指定された IStream はセクター 0 から常に記録されますが、 IStream インターフェイスを提供するオブジェクトは、記録する必要があるセクターを一覧表示する IBlockRangeList インターフェイスを提供することもできます。 IBlockRangeList インターフェイスは、マルチリージョン シナリオで変更されていないセクターの書き換えを回避するために使用されます。 IStream を提供するオブジェクトが IBlockRangeList を提供しない場合は、IStream 全体を記録する必要があると見なされます。

要件

   
サポートされている最小のクライアント Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー imapi2.h

関連項目

DDiscFormat2DataEvents

IDiscFormat2Data

IDiscFormat2Data::CancelWrite