Поделиться через


Создание приложения DISM

Вы можете разрабатывать приложения с помощью API DISM на любом компьютере, где установлен комплект средств для развертывания и оценки Windows (Windows ADK).

Настройка среды разработки

  1. Добавьте путь к библиотеке DismApi.lib в качестве дополнительной зависимости во входных свойствах компоновщика проекта.

    По умолчанию DismApi.lib устанавливается вместе с Windows ADK по адресу C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment and Imaging Tools\SDKs\DismApi\Lib\.

  2. Добавьте путь к DismApi.h в свойства ресурса проекта.

    По умолчанию DismApi.h устанавливается вместе с Windows ADK по адресу C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment and Imaging Tools\SDKs\DismApi\Include\.

  3. Включите в код файл заголовка DISM API DismApi.h.

Обязательные функции API DISM

Все процессы API DISM должны начинаться с функции DismInitialize перед выполнением других вызовов API DISM. И наоборот, функция DismShutdown используется для завершения процесса.

Для обслуживания автономного образа используйте функцию DismMountImage , чтобы сопоставить содержимое изображения с каталогом на локальном компьютере перед открытием сеанса DISM.

Вы можете связать автономный или сетевой образ Windows с DISMSession , вызвав функцию DismOpenSession. Все операции обслуживания и восстановления образов выполняются с помощью DISMSession. Все API, работающие с образом, принимают DismSession в качестве первого параметра. Вы можете вызвать функцию DismCloseSession , чтобы освободить DismSession, а затем вызвать функцию DismUnmountImage , если вы завершили работу с автономным образом.

Для некоторых операций сеанс DISM не требуется. К ним относятся функция DismGetImageInfo, функция DismGetMountedImageInfo, функция DismRemountImage, функция DismCleanupMountpoints, функция DismGetLastErrorMessage и функция DismDelete. Эти операции можно использовать в любой момент после вызова функции DismInitialize .

Пример базового приложения DISM см. в разделе Примеры API DISM.

Использование сопряженных API DISM для открытия и закрытия процессов

  1. Чтобы запустить процесс DISM, вызовите функцию DismInitialize.

  2. Если вы используете автономный образ, вызовите функцию DismMountImage.

  3. После запуска процесса с функцией DismInitialize можно вызвать любые функции, не требующие сеанса DISM, например функцию DismGetMountedImageInfo.

  4. Если вы хотите обслуживать образ, сначала свяжите автономный или сетевой образ Windows с DISMSession , вызвав функцию DismOpenSession.

  5. Теперь можно выполнять любые операции управления образами или обслуживания, использующие сеанс DISM, например функцию DismAddPackage.

    Дополнительные сведения о доступных функциях см. в разделе Функции API DISM.

  6. Сохраните изменения с помощью функции DismCommitImage.

  7. Если у вас есть открытые сеансы, используйте функцию DismCloseSession для каждого из них, чтобы освободить сеанс и освободить выделенную память.

  8. Если вы закончите использовать автономный образ, вызовите функцию DismUnmountImage , чтобы удалить подключенный образ с локального компьютера.

  9. Чтобы закрыть процесс, используйте функцию DismShutdown.

Примеры API DISM