IIsolatedProcessLauncher::LaunchProcess 方法 (isolatedapplauncher.h)

启动容器内的进程。

语法

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

参数

process

要启动的进程。

arguments

要传递给进程的参数。

workingDirectory

进程的工作目录。

返回值

返回 HRESULT 成功或错误代码。

注解

警告

这是一个已弃用的 API。

此过程必须存在于容器中,因为该容器已存在于 Windows 映像本身中,或者存在于通过 ShareDirectory API 在 中共享的文件夹中。 此处启动的进程必须经过 Microsoft 签名才能成功启动,否则它将被代码完整性策略阻止。 它还需要在 30 秒内向用户显示一些 UI。 此函数规定第三方在 Microsft Defender 应用程序防护 (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));

要求

要求
Header isolatedapplauncher.h

另请参阅

ShareDirectory