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


Метод IIsolatedProcessLauncher::LaunchProcess (isolatedapplauncher.h)

Запускает процесс внутри контейнера.

Синтаксис

HRESULT LaunchProcess(
  LPCWSTR process,
  LPCWSTR arguments,
  LPCWSTR workingDirectory
);

Параметры

process

Процесс для запуска.

arguments

Аргументы для передачи в процесс.

workingDirectory

Рабочий каталог процесса.

Возвращаемое значение

Возвращает код ошибки или успешного выполнения HRESULT .

Комментарии

Предупреждение

Это нерекомендуемый API.

Этот процесс должен существовать внутри контейнера либо в самом образе Windows, либо в папке, к которой предоставлен общий доступ через API ShareDirectory . Процесс, запускаемый здесь, должен быть подписан корпорацией Майкрософт для успешного запуска, в противном случае он будет заблокирован политикой целостности кода. Он также должен отобразить некоторый пользовательский интерфейс для пользователя в течение 30 секунд. Эта функция диктует все ограничения, которые должны следовать сторонние разработчики, чтобы работать в среде Microsft Defender Application Guard (MDAG) Edge.

Примеры

В этом примере предполагается, что c:\hostfolder1 уже используется общий доступ к контейнеру, следуя примеру ShareDirectory .

wil::com_ptr<IIsolatedProcessLauncher2> isolatedProcessLauncher;

THROW_IF_FAILED(CoCreateInstance(
    CLSID_IsolatedAppLauncher,
    NULL,
    CLSCTX_LOCAL_SERVER,
    IID_PPV_ARGS(&isolatedProcessLauncher)));

THROW_IF_FAILED(isolatedProcessLauncher->LaunchProcess(
    L"c:\\hostfolder1\\sampleprocess.exe",
    L"",
    L""));

GUID correlationGuid;
THROW_IF_FAILED(CoCreateGuid(&correlationGuid));

THROW_IF_FAILED(isolatedProcessLauncher->LaunchProcess2(
    L"c:\\hostfolder1\\sampleprocess.exe",
    L"",
    L"",
    correlationGuid));

Требования

Требование Значение
Заголовок isolatedapplauncher.h

См. также раздел

ShareDirectory