std::wstring FormatString()

in src/VSIXBootstrapper.Shared/Resources.h [53:74]


    std::wstring FormatString(_In_ DWORD nID, _In_ va_list args) const
    {
        auto fmt = GetString(nID);

        ::_set_invalid_parameter_handler(OnInvalidParameter);
        auto ch = _vscwprintf_p(fmt.c_str(), args);

        if (0 > ch)
        {
            throw win32_error(ERROR_INVALID_PARAMETER);
        }

        std::wstring wsz;
        wsz.resize(++ch);

        if (0 > _vswprintf_p(&wsz[0], ch, fmt.c_str(), args))
        {
            throw win32_error(ERROR_INVALID_PARAMETER);
        }

        return wsz;
    }