Как вызвать dism/apply-image с помощью dism API?C++

Программы на C++. Форум разработчиков
Anonymous
Как вызвать dism/apply-image с помощью dism API?

Сообщение Anonymous »

Я установил Windows ADK и пытаюсь программно воспроизвести тот же вызов этой команды:
dism /apply-image /imagefile:E:\sources\install.esd /index:6 /applydir:F:\

Просматривая функции DISM API, а также непосредственно файл dismapi.h, я не нашел подходящей функции для использования, нет «DismApplyImage».
Ближайшим вариантом является DismMountImage, но для флагов нет слова «компактный».
#include
#include
#pragma comment(lib, "dismapi.lib")

int main(int argc, char *argv[])
{
DismLogLevel dwLogLevel = DismLogLevel::DismLogErrors;
HRESULT hr = DismInitialize(dwLogLevel, NULL, NULL);

DismSession session = NULL;
// dism /apply-image /imagefile:E:\sources\install.esd /index:6 /applydir:F:\ /compact"
hr = DismMountDismApplyImageImage(L"E:\sources\install.esd", L"F:\\", 6, L"", DismImageIndex, ?

/*
DismMountImage(
_In_ PCWSTR ImageFilePath,
_In_ PCWSTR MountPath,
_In_ UINT ImageIndex,
_In_opt_ PCWSTR ImageName,
_In_ DismImageIdentifier ImageIdentifier,
_In_ DWORD Flags,
_In_opt_ HANDLE CancelEvent,
_In_opt_ DISM_PROGRESS_CALLBACK Progress,
_In_opt_ PVOID UserData
);
*/

}


Подробнее здесь: https://stackoverflow.com/questions/792 ... e-dism-api

Вернуться в «C++»