Windows Vista. Для профессионалов
Шрифт:
Примечание
На сайте компании Microsoft можно найти файл BCD.doc, содержащий описание работы с новым загрузочным меню (на английском языке). Если эта информация вам интересна, то попытайтесь воспользоваться ссылкой http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/BCD.doc.
Классы репозитария CIM
Работать с новым загрузочным меню операционной системы Windows Vista можно и с помощью набора новых классов, хранящихся в пространстве имен \ \. \root\wmi. Непосредственно к свойствам описанных ниже классов обратиться нельзя, однако можно выполнять методы данных классов – результаты некоторых из них возвращают экземпляры
Примечание
В книге предполагается, что вы уже имеете представление о WMI и репозитарии CIM. Если это не так, то в приложении 2 описаны некоторые примеры работы с пространствами имен, классами и их свойствами и методами.
Класс BcdStore
Данный класс представляет собой коллекцию объектов загрузочного меню. Он поддерживает одно свойство, доступное только для чтения, – FilePath, тип: string. Свойство является ключевым. Оно уникально идентифицирует путь к объекту.
Класс также поддерживает следующие методы.
• CopyObject – копирует объект.
Входящие параметры.
– Строковый параметр, определяющий файл загрузочного меню.
– Строковый параметр, определяющий идентификатор загрузочного меню.
– Флаг копирования. Имеет тип uint32. Если значение флага равно 1, то будет создан новый идентификатор для копируемого объекта. Если значение флага равно 2, то существующий объект будет удален. Если же значение данного флага равно 3, то существующий объект будет удален, а создаваемому объекту будет присвоен новый идентификатор.
Возвращаемый параметр: указатель на класс BcdObject.
• CopyObjects – копирует несколько объектов.
Входящие параметры.
– Первый – строковый – параметр, определяющий файл загрузочного меню.
– Второй параметр определяет тип объекта. Он имеет тип uint32.
– Флаги копирования. Имеет тип uint32. Если значение флага равно 1, то будет создан новый идентификатор для копируемого объекта. Если значение флага равно 2, то существующий объект будет удален. Если же значение данного флага равно 3, то существующий объект будет удален, а создаваемому объекту будет присвоен новый идентификатор.
Возвращаемый параметр: строковый.
• CreateObject – создает объект.
Входящие параметры.
– Строковый параметр, определяющий идентификатор объекта.
– Второй параметр определяет тип объекта. Он имеет тип uint32.
Возвращаемый параметр: указатель на класс BcdObject.
• CreateStore – создает новую коллекцию объектов (загрузочное меню). Входящий параметр: строковый параметр, определяющий путь к файлу. Возвращаемый параметр: указатель на класс BcdStore.
• DeleteObject – удаляет объект.
Входящий параметр: строковый параметр, определяющий идентификатор объекта.
Возвращаемые параметры: нет.
• DeleteSystemStore – удаляет основную коллекцию объектов загрузочного меню.
Входящие параметры: нет.
Возвращаемые параметры: нет.
• EnumerateOb j ects – возвращает пути ко всем объектам, находящимся в данном хранилище объектов загрузочного меню.
Входящий параметр: определяет тип объекта. Он имеет тип uint32.
Возвращаемый параметр: массив указателей на класс BcdObject.
• ExportStore – выполняет экспорт содержимого загрузочного меню в файл.
Входящий параметр: путь к файлу, в который нужно экспортировать данное хранилище объектов загрузочного меню.
Возвращаемые параметры: нет.
• GetSystemDisk – возвращает название системного раздела.
Входящий параметр: строковый параметр, который содержит название системного раздела.
Возвращаемые параметры: нет.
• GetSystemPartition – возвращает номер партиции, которая соответствует системному разделу.
Входящие параметры: нет.
Возвращаемый параметр: строковый параметр, содержащий номер партиции диска, которая соответствует системному разделу.
• ImportStore – импортирует загрузочное меню из файла.
Входящий параметр: путь к файлу, из которого нужно импортировать хранилище объектов загрузочного меню.
Возвращаемые параметры: нет.
• OpenObject – возвращает указатель на класс BcdOb j ect, хранящий сведения о данном объекте.
Входящий параметр: строковый параметр, определяющий идентификатор объекта.
Возвращаемый параметр: указатель на класс BcdObject.
• OpenStore – открывает хранилище объектов загрузочного меню.
Входящий параметр: строковый параметр, определяющий путь к файлу.
Возвращаемый параметр: указатель на класс BcdStore.
Класс BcdObject
Данный класс включает в себя описание объекта из коллекции объектов загрузочного меню. Он поддерживает следующие свойства, доступные только для чтения.
• Id, тип: string – свойство является ключевым. Оно определяет CLSID-номер, уникально идентифицирующий объект.
• StoreFilePath, тип: string – является ключевым. Оно определяет путь к хранилищу, содержащему данный объект.
• Туре, тип: uint32 – определяет тип объекта.
Класс также поддерживает следующие методы.
• DeleteElement – удаляет элемент.
Входящий параметр: данный параметр определяет тип объекта. Он имеет тип uint32.
Возвращаемые параметры: нет.
• EnumerateElements – отображает список доступных элементов загрузочного меню.
Входящие параметры: нет.
Возвращаемый параметр: массив элементов, представленных указателями на класс BcdElement.
• EnumerateElementTypes – отображает список типов доступных элементов загрузочного меню.
Входящие параметры: нет.
Возвращаемый параметр: массив элементов, имеющих тип uint32.
• GetElement – возвращает элемент.
Входящий параметр: данный параметр определяет тип объекта. Он имеет тип uint32.
Возвращаемый параметр: указатель на объект BcdElement.
• SetBooleanElement – устанавливает элемент типа Boolean.
Входящий параметр: данный параметр определяет тип объекта. Он имеет тип uint32.
Возвращаемый параметр: Boolean. Имеет тип Boolean.
• SetDeviceElement – устанавливает элемент типа Device.
Входящие параметры.
– Данный параметр определяет тип объекта. Он имеет тип uint32.
– Определяет тип устройства. Данный параметр имеет тип uint32. Если значение флага равно 1, то это загрузочный раздел. Если значение флага равно 2, то это партиция. Если же значение флага равно 3, то это файл. Ну, а если значение данного параметра равно 5, то данный элемент устройства неизвестен.
Возвращаемый параметр: строковый параметр, определяющий дополнительные настройки.
• SetFileDeviceElement – устанавливает элемент типа FileDevice.
Входящие параметры.
– Данный параметр определяет тип объекта. Он имеет тип uint32.
– Определяет тип устройства. Данный параметр имеет тип uint32. Если значение флага равно 1, то это загрузочный раздел. Если значение флага равно 2, то это партиция. Если же значение флага равно 3, то это файл. Ну, а если значение данного параметра равно 5, то данный элемент устройства неизвестен.
– Строковый параметр, определяющий дополнительные настройки.
– Строковый параметр, определяющий путь.
– Определяет тип родительского устройства. Имеет тип uint32.
– Строковый параметр, определяющий дополнительные настройки родительского устройства.
– Строковый параметр, определяющий родительский путь.
Возвращаемые параметры: нет.
• SetlntegerElement – устанавливает элемент типа Integer.
Входящие параметры.
– Данный параметр определяет тип объекта. Он имеет тип uint32.
– Имеет тип uint64 и определяет устанавливаемое значение. Возвращаемые параметры: нет.• SetOb j ectElement – устанавливает элемент типа Ob j ect.
Входящие параметры.
– Данный параметр определяет тип объекта. Он имеет тип uint32.
– Строковый параметр, определяющий идентификатор объекта.
Возвращаемые параметры: нет.
• SetObjectListElement – устанавливает список элементов типа Object.
Входящие параметры.
– Данный параметр определяет тип объекта. Он имеет тип uint32.
– Массив строковых параметров, определяющих идентификаторы объектов.