Skip to content

WslcSetProcessSettingsCallbacks

STDAPI WslcSetProcessSettingsCallbacks(_In_ WslcProcessSettings* processSettings, _In_ const WslcProcessCallbacks* callbacks, _In_opt_ PVOID context);
Parameter Type Direction
processSettings WslcProcessSettings* in
callbacks const WslcProcessCallbacks* in
context PVOID in, optional

Return value: HRESULT.

Header note: using callbacks consumes the process I/O handles and prevents later acquisition through WslcGetProcessIOHandle.

Example:

void CALLBACK OnStdOut(WslcProcessIOHandle ioHandle, const BYTE* data, uint32_t dataBytes, PVOID context)
{
    UNREFERENCED_PARAMETER(ioHandle);
    UNREFERENCED_PARAMETER(context);
    fwrite(data, 1, dataBytes, stdout);
}

void CALLBACK OnExit(INT32 exitCode, PVOID context)
{
    UNREFERENCED_PARAMETER(context);
    printf("exit=%ld\n", (long)exitCode);
}

WslcProcessCallbacks callbacks = { 0 };
callbacks.onStdOut = OnStdOut;
callbacks.onStdErr = OnStdOut;
callbacks.onExit = OnExit;

HRESULT hr = WslcSetProcessSettingsCallbacks(&processSettings, &callbacks, NULL);