SystemParametersInfo устанавливает обои полностью черными (используя SPI_SETDESKWALLPAPER)

Я пытаюсь изменить обои для рабочего стола. Это работает просто отлично, когда я использую это так:

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

Но когда я использую это так, обои рабочего стола устанавливаются полностью черными:

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

Я пытался получить больше информации с помощьюGetLastError(), но возвращаемое значение равно 0. Я также пытался использовать .png-файлы, но это ничего не меняет.

Есть идеи, что я делаю не так?