Membakar Citra Disk
Menguasai (membakar disk) menggunakan IMAPI terdiri dari langkah-langkah berikut:
- Buat citra sistem file yang berisi direktori dan file untuk menulis diska.
- 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 gambar bakar
Gambar bakar adalah aliran data yang siap ditulis ke media optik. Gambar bakar untuk format ISO9660, Joliet, dan UDF terdiri dari sistem file file 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.
Secara opsional, gambar boot dapat dilampirkan ke sistem file menggunakan properti IFileSystemImage::p ut_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. Antarmuka IDiscMaster2 menyediakan akses ke enumerasi perangkat yang dihasilkan. Melintasi enumerasi untuk menemukan perangkat perekaman yang sesuai. Objek MsftDiscMaster2 juga menyediakan pemberitahuan peristiwa saat perangkat optik ditambahkan 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. Antarmuka IDiscFormat2Data menyediakan akses ke objek MsftDiscFormat2Data .
Perekam disk menautkan ke penulis format menggunakan properti IDiscFormat2Data::p ut_Recorder . Setelah perekam terikat ke penulis format, Anda dapat melakukan kueri mengenai media dan memperbarui properti khusus tulis sebelum menulis gambar hasil ke disk menggunakan metode IDiscFormat2Data::Write .
Antarmuka penulisan format lain yang disediakan oleh IMAPI juga berfungsi; 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.
Catatan
Dimungkinkan untuk transisi status daya terjadi selama operasi pembakaran (yaitu log-off pengguna atau sistem ditangguhkan) yang menyebabkan gangguan proses pembakaran dan kemungkinan kehilangan data. Untuk pertimbangan pemrograman, lihat Mencegah Logoff atau Menangguhkan Selama 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 cakram yang kompatibel diinstal pada sistem.
- Perangkat cakram adalah drive kedua pada sistem.
- Cakram yang kompatibel dimasukkan ke dalam perangkat cakram.
- 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk