SystemParametersInfo define o papel de parede completamente preto (usando SPI_SETDESKWALLPAPER)

Eu tento mudar meu papel de parede da área de trabalho. Funciona muito bem quando eu uso assim:

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\1.jpg", SPIF_SENDCHANGE);

Mas quando eu uso assim, o papel de parede da área de trabalho fica completamente preto:

std::string s = "C:\\1.jpg";
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, &s, SPIF_SENDCHANGE);

Tentei obter mais informações usando oGetLastError(), mas o valor de retorno é apenas 0. Eu também tentei usar arquivos .png, mas isso não muda nada.

Alguma idéia do que estou fazendo de errado?

questionAnswers(1)

yourAnswerToTheQuestion