新增開機映射
此範例是以 「毀毀磁片映射 」範例為基礎,方法是新增程式碼以在磁片的開機區段中包含可開機映射。可開機映射會連接到寫入磁片的檔案系統物件。附加之後,其餘的擷取程式就與基本火氣程式相同。 開機映射會使用 CD 或 DVD 磁片磁碟機提供系統啟動。
此範例會將可開機映射的路徑硬式編碼。 請務必視需要變更路徑和其他硬式編碼值。
' This script burns a boot image and 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 FsiFileSystemUDF = 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
Dim bootFile ' Path and filename of boot image
index = 1 ' Second drive on the system
path = "g:\BurnDir"
bootFile = "g:\BootImg\etfsboot.com"
' Create a DiscMaster2 object to connect to CD/DVD 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 )
' -------- Adding Boot Image Code -----
Dim bootOptions
WScript.Echo "Creating BootOptions"
SET bootOptions = WScript.CreateObject("IMAPI2FS.BootOptions")
bootOptions.Manufacturer = "Microsoft"
bootOptions.PlatformId = 0 ' x86 processor
bootOptions.Emulation = 0 ' EmulationType.EmulationNone
' Need a stream for the boot image file
Const adFileTypeBinary = 1
DIM bootStream
Set bootStream = CreateObject("ADODB.Stream")
WScript.Echo "Creating IStream for file " + bootFile
bootStream.Open
bootStream.Type = adFileTypeBinary
bootStream.LoadFromFile bootFile
bootOptions.AssignBootImage(bootStream)
' Create disc file system image (ISO9660 in this example)
Dim FSI
SET FSI = WScript.CreateObject("IMAPI2FS.MsftFileSystemImage")
FSI.ChooseImageDefaults(Recorder)
' Add the boot directory and its contents to the file system
FSI.BootImageOptions = bootOptions
' Add the content directory and files to the file system
FSI.root.AddTree path, FALSE
Dim result
Set result = FSI.CreateResultImage()
stream = result.ImageStream
' Create and write stream to disc using the specified recorder.
Dim dataWriter
Set dataWriter = CreateObject("IMAPI2.MsftDiscFormat2Data")
dataWriter.recorder = Recorder
dataWriter.ClientName = "IMAPIv2 TEST"
dataWriter.write(stream)
WScript.Echo "----- Finished writing content -----"
Main = 0
End Function
相關主題