HRESULT FormatMessageHelperVa()

in DistroLauncher/Helpers.cpp [69:85]


    HRESULT FormatMessageHelperVa(DWORD messageId, va_list vaList, std::wstring* message)
    {
        PWSTR buffer = nullptr; 
        DWORD written = ::FormatMessageW(FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_ALLOCATE_BUFFER,
                                         nullptr,
                                         messageId,
                                         0,
                                         (PWSTR)&buffer,
                                         10,
                                         &vaList);
        *message = buffer;
        if (buffer != nullptr) {
            HeapFree(GetProcessHeap(), 0, buffer);
        }

        return (written > 0) ? S_OK : HRESULT_FROM_WIN32(GetLastError());
    }