Membakar Citra Disk
Menguasai (membakar disk) menggunakan IMAPI terdiri dari langkah-langkah berikut:
- Buat citra sistem file yang berisi direktori dan file untuk menulis disk.
- Siapkan perekam disk untuk berkomunikasi dengan perangkat optik.
- Buat penulis data dan bakar gambar ke disk.
Untuk contoh yang membakar gambar disk, lihat contoh VBScript.
Membuat citra cakram
Gambar bakar adalah aliran data yang siap ditulis ke media optik. Citra pembakaran untuk format ISO9660, Joliet, dan UDF terdiri dari sistem berkas yang terdiri dari berkas dan direktori individual. Objek CFileSystemImage adalah objek sistem file yang menyimpan file dan direktori untuk ditempatkan di media optik. Antarmuka IFileSystemImage menyediakan akses ke objek dan pengaturan sistem file.
Setelah membuat objek sistem file, panggil metode IFileSystemImage::CreateFileItem dan IFileSystemImage::CreateDirectoryItem untuk membuat objek file dan direktori. Objek file dan direktori dapat digunakan untuk memberikan detail spesifik tentang file dan direktori. Metode penanganan aktivitas yang tersedia untuk IFileSystemImage dapat mengidentifikasi file saat ini yang ditambahkan ke gambar sistem file, jumlah sektor yang sudah disalin, dan jumlah total sektor yang akan disalin.
Jika diinginkan, gambar boot dapat dilampirkan ke sistem file menggunakan properti IFileSystemImage::put_BootImageOptions. Misalnya, lihat Menambahkan Gambar Boot.
Terakhir, panggil IFileSystemImage::CreateResultImage untuk membuat aliran data dan menyediakan akses melalui IFileSystemImageResult. Aliran data baru kemudian dapat disediakan langsung ke metode IDiscFormat2Data::Write atau disimpan ke file untuk digunakan nanti.
Menyiapkan perekam disk
Objek MsftDiscMaster2 menyediakan enumerasi perangkat optik pada sistem. AntarmukaIDiscMaster2 menyediakan akses ke enumerasi perangkat yang dihasilkan. Menelusuri enumerasi untuk menemukan perangkat perekaman yang sesuai. Objek MsftDiscMaster2 juga menyediakan pemberitahuan peristiwa saat perangkat optik ditambahkan ke atau dihapus dari komputer.
Setelah menemukan perekam optik dan mengambil ID-nya, buat objek MsftDiscRecorder2 dan inisialisasi perekam menggunakan ID perangkat. Antarmuka IDiscRecorder2 menyediakan akses ke objek perekam serta beberapa informasi perangkat dasar seperti ID vendor, ID produk, revisi produk, dan metode untuk mengeluarkan media dan menutup baki.
Membuat penulis data dan menulis gambar bakar
Objek MsftDiscFormat2Data menyediakan metode penulisan, properti tentang fungsi tulis dan properti khusus media. AntarmukaIDiscFormat2Data menyediakan akses ke objek MsftDiscFormat2Data.
Perekam disk terhubung dengan penulis format menggunakan properti IDiscFormat2Data::put_Recorder. Setelah perekam terikat ke penulis format, Anda dapat melakukan kueri mengenai media dan memperbarui properti khusus penulisan sebelum menulis gambar hasil ke disk menggunakan metode IDiscFormat2Data::Write.
Antarmuka penulisan format lain yang disediakan oleh IMAPI bekerja sama; antarmuka penulisan format tambahan meliputi:
- IDiscFormat2Erase menghapus media optik yang dapat ditulis ulang.
- IDiscFormat2RawCD menulis gambar mentah ke media optik.
- IDiscFormat2TrackAtOnce menulis trek audio ke media optik.
Nota
Dimungkinkan untuk perubahan status daya terjadi selama operasi pembakaran (yaitu log-off pengguna atau sistem ditangguhkan) yang dapat mengganggu proses pembakaran dan menyebabkan kemungkinan kehilangan data. Untuk pertimbangan pemrograman, lihat Mencegah Keluar atau Menangguhkan Selama proses pembakaran.
Contoh VBScript
Contoh skrip ini menunjukkan cara menggunakan objek IMAPI untuk membakar media optik; lebih khusus lagi, tulis direktori ke disk kosong. Kode tidak berisi pemeriksaan kesalahan, dan mengasumsikan hal berikut:
- Perangkat diska yang kompatibel diinstal pada sistem.
- Peranti disk adalah drive kedua pada sistem.
- Cakram yang kompatibel dimasukkan ke dalam perangkat disk.
- Cakram kosong.
- File yang akan ditulis ke disk terletak di "g:\burndir".
Fungsionalitas tambahan seperti pemeriksaan kesalahan, kompatibilitas perangkat dan media, pemberitahuan peristiwa, dan menghitung ruang kosong pada disk dapat ditambahkan ke skrip ini.
' This script burns data files to disc in a single session
' using files from a single directory tree.
' Copyright (C) Microsoft Corp. 2006
Option Explicit
' *** CD/DVD disc file system types
Const FsiFileSystemISO9660 = 1
Const FsiFileSystemJoliet = 2
Const FsiFileSystemUDF102 = 4
WScript.Quit(Main)
Function Main
Dim Index ' Index to recording drive.
Dim Recorder ' Recorder object
Dim Path ' Directory of files to burn
Dim Stream ' Data stream for burning device
Index = 1 ' Second drive on the system
Path = "g:\BurnDir" ' Files to transfer to disc
' Create a DiscMaster2 object to connect to optical drives.
Dim g_DiscMaster
Set g_DiscMaster = WScript.CreateObject("IMAPI2.MsftDiscMaster2")
' Create a DiscRecorder object for the specified burning device.
Dim uniqueId
set recorder = WScript.CreateObject("IMAPI2.MsftDiscRecorder2")
uniqueId = g_DiscMaster.Item(index)
recorder.InitializeDiscRecorder( uniqueId )
' Create an image stream for a specified directory.
Dim FSI ' Disc file system
Dim Dir ' Root directory of the disc file system
Dim dataWriter
' Create a new file system image and retrieve root directory
Set FSI = CreateObject("IMAPI2FS.MsftFileSystemImage")
Set Dir = FSI.Root
'Create the new disc format and set the recorder
Set dataWriter = CreateObject ("IMAPI2.MsftDiscFormat2Data")
dataWriter.recorder = Recorder
dataWriter.ClientName = "IMAPIv2 TEST"
FSI.ChooseImageDefaults(recorder)
' Add the directory and its contents to the file system
Dir.AddTree Path, false
' Create an image from the file system
Dim result
Set result = FSI.CreateResultImage()
Stream = result.ImageStream
' Write stream to disc using the specified recorder.
WScript.Echo "Writing content to disc..."
dataWriter.write(Stream)
WScript.Echo "----- Finished writing content -----"
Main = 0
End Function
Topik terkait
-
Menggunakan IMAPI