Metode IDiscRecorder2Ex::SendCommandSendDataToDevice (imapi2.h)

Mengirim perintah MMC dan buffer data terkait ke perangkat perekaman.

Sintaks

HRESULT SendCommandSendDataToDevice(
  [in]  BYTE                 *Cdb,
  [in]  ULONG                CdbSize,
  [out] BYTE [18]            SenseBuffer,
  [in]  ULONG                Timeout,
  [in]  BYTE                 *Buffer,
  [in]  ULONG_IMAPI2_NONZERO BufferSize
);

Parameter

[in] Cdb

Paket perintah untuk dikirim ke perangkat.

[in] CdbSize

Ukuran, dalam byte, dari paket perintah yang akan dikirim. Harus antara 6 dan 16 byte.

[out] SenseBuffer

Merasakan data yang dikembalikan oleh perangkat perekaman.

[in] Timeout

Batas waktu, dalam detik, diizinkan agar perintah kirim menerima hasil.

[in] Buffer

Buffer yang berisi data yang terkait dengan perintah kirim. Tidak boleh NULL.

[in] BufferSize

Ukuran, dalam byte, dari buffer data yang akan dikirim. Tidak boleh nol.

Nilai kembali

S_OK atau salah satu nilai berikut dapat dikembalikan pada keberhasilan, tetapi kode keberhasilan lainnya dapat dikembalikan sebagai hasil dari implementasi:

Menampilkan kode Deskripsi
S_IMAPI_COMMAND_HAS_SENSE_DATA
Perangkat gagal dalam perintah, tetapi mengembalikan data yang masuk akal.

Nilai: 0x00AA0200

 

Kode kesalahan berikut biasanya dikembalikan pada kegagalan operasi, tetapi tidak mewakili satu-satunya nilai kesalahan yang mungkin:

Menampilkan kode Deskripsi
E_POINTER
Pointer tidak valid.

Nilai: 0x80004003

E_FAIL
Kegagalan yang tidak ditentukan.

Nilai: 0x80004005

E_IMAPI_RECORDER_GET_CONFIGURATION_NOT_SUPPORTED
Drive tidak mendukung perintah GET CONFIGURATION.

Nilai: 0xC0AA020C

E_IMAPI_RECORDER_NO_SUCH_FEATURE
Halaman fitur yang diminta tidak didukung oleh perangkat.

Nilai: 0xC0AA020A

E_OUTOFMEMORY
Gagal mengalokasikan memori yang diperlukan.

Nilai: 0x8007000E

E_IMAPI_RECORDER_FEATURE_IS_NOT_CURRENT
Halaman fitur yang diminta didukung, tetapi tidak ditandai sebagai saat ini.

Nilai: 0xC0AA020B

E_IMAPI_RECORDER_COMMAND_TIMEOUT
Perangkat gagal menerima perintah dalam periode waktu habis. Ini mungkin disebabkan oleh perangkat yang telah memasuki status tidak konsisten, atau nilai batas waktu untuk perintah mungkin perlu ditingkatkan.

Nilai: 0xC0AA020D

E_IMAPI_RECORDER_INVALID_RESPONSE_FROM_DEVICE
Perangkat melaporkan data yang tidak terduga atau tidak valid untuk perintah.

Nilai: 0xC0AA02FF

E_IMAPI_RECORDER_MEDIA_UPSIDE_DOWN
Media dimasukkan terbalik.

Nilai: 0xC0AA0204

E_IMAPI_RECORDER_MEDIA_BECOMING_READY
Drive melaporkan bahwa itu sedang dalam proses menjadi siap. Silakan coba lagi permintaan ini nanti.

Nilai: 0xC0AA0205

E_IMAPI_RECORDER_MEDIA_NO_MEDIA
Tidak ada media di perangkat.

Nilai: 0xC0AA0202

E_IMAPI_RECORDER_MEDIA_FORMAT_IN_PROGRESS
Media saat ini sedang diformat. Harap tunggu hingga format selesai sebelum mencoba menggunakan media.

Nilai: 0xC0AA0206

E_IMAPI_RECORDER_MEDIA_BUSY
Drive melaporkan bahwa drive melakukan operasi jangka panjang, seperti menyelesaikan penulisan. Drive mungkin tidak dapat digunakan untuk jangka waktu yang lama.

Nilai: 0xC0AA0207

E_IMAPI_LOSS_OF_STREAMING
Penulisan gagal karena drive tidak menerima data dengan cukup cepat untuk melanjutkan penulisan. Memindahkan data sumber ke komputer lokal, mengurangi kecepatan tulis, atau mengaktifkan pengaturan "buffer underrun free" dapat mengatasi masalah ini.

Nilai: 0xC0AA0300

E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE
Media tidak kompatibel atau format fisik yang tidak diketahui.

Nilai: 0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
Struktur DVD tidak ada. Ini mungkin disebabkan oleh drive/medium yang tidak kompatibel yang digunakan.

Nilai: 0xC0AA020E

E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE
Perangkat melaporkan bahwa halaman mode yang diminta (dan jenis) tidak ada.

Nilai: 0xC0AA0201

E_IMAPI_RECORDER_INVALID_MODE_PARAMETERS
Drive melaporkan bahwa kombinasi parameter yang disediakan di halaman mode untuk perintah MODE SELECT tidak didukung.

Nilai: 0xC0AA0208

E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED
Kandar melaporkan bahwa media dilindungi terhadap penulisan.

Nilai: 0xC0AA0209

E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH
Kecepatan media tidak kompatibel dengan perangkat. Ini mungkin disebabkan oleh penggunaan media kecepatan yang lebih tinggi atau lebih rendah daripada rentang kecepatan yang didukung oleh perangkat.

Nilai: 0xC0AA020F

HRESULT_FROM_WIN32(ERROR_INVALID_HANDLE)
Handel yang ditentukan tidak valid.

Nilai: 6

HRESULT_FROM_WIN32(ERROR_DEV_NOT_EXIST)
Sumber daya atau perangkat jaringan yang ditentukan tidak lagi tersedia.

Nilai: 55

E_IMAPI_RECORDER_LOCKED
Perangkat yang terkait dengan perekam ini selama operasi terakhir telah dikunci secara eksklusif, menyebabkan operasi ini gagal.

Nilai: 0xC0AA0210

Keterangan

Untuk detail konten paket perintah, merasakan data, dan buffer data input, lihat revisi terbaru spesifikasi MMC saat ftp://ftp.t10.org/t10/drafts/mmc5.

Perintah yang ditentukan klien (CDB) yang digunakan dengan metode ini harus panjangnya antara 6 dan 16 byte. Selain itu, ukuran setiap perintah harus cocok dengan ukuran yang ditentukan oleh kode operasi seperti yang didefinisikan dalam tabel berikut.

Rentang kode operasi CDB Grup CDB Ukuran CDB yang diperlukan
0x00 — 0x1F 0 6 byte
0x20 — 0x3F 1 10 byte
0x40 — 0x5F 2 10 byte
0x60 — 0x7F 3 Akan memberlakukan persyaratan ukuran yang ditentukan standar untuk rentang opcode ini di masa mendatang.
0x80 — 0x9F 4 16 byte
0xA0 — 0xBF 5 12 byte
0xC0 — 0xDF 6 Vendor Unik - Ukuran apa pun yang diizinkan
0xE0 — 0xFF 7 Vendor Unik - Ukuran apa pun yang diizinkan
 

Beberapa perangkat yang sangat awal menggunakan opcode unik vendor dan oleh karena itu beberapa opcode tidak dapat divalidasi dengan cara ini. Opcode berikut masih valid dan hanya memverifikasi bahwa ukurannya antara 6 dan 16 byte:

0x02, 0x05, 0x06, 0x09, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x13, 0x14, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x26, 0x27, 0x29, 0x2C, 0x2D

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista, Windows XP dengan SP2 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header imapi2.h

Lihat juga

IDiscRecorder2Ex

IDiscRecorder2Ex::SendCommandGetDataFromDevice

IDiscRecorder2Ex::SendCommandNoData