от
Я новичок в C , и я пытаюсь скомпилировать этот код и получить ошибку, как показано ниже, Кто-нибудь может дать мне руководство, чтобы это исправить? большое спасибо. я много искал в гугле, до сих пор не могу решить
Error   C2664   'HRESULT IRegistrationInfo::put_Author(BSTR)': cannot convert argument 1 from 'const wchar_t [12]' to 'BSTR'    ConsoleApplication7 c:\users\hellojeff\source\repos\consoleapplication7\consoleapplication7\consoleapplication7.cpp 135 1   
Warning C4603   '_WIN32_DCOM': macro is not defined or definition is different after precompiled header use ConsoleApplication7 c:\users\hellojeff\source\repos\consoleapplication7\consoleapplication7\consoleapplication7.cpp 5   1   
Error (active)  E0167   argument of type "const wchar_t *" is incompatible with parameter of type "BSTR"    ConsoleApplication7 C:\Users\HelloJeff\source\repos\ConsoleApplication7\ConsoleApplication7\ConsoleApplication7.cpp 135 28
кажется, что const wchar_ не может быть преобразован в 'BSTR' для этой строки,
hr = pRegInfo

полный код находится по адресу https://docs.microsoft.com/en-us/windows/win32/taskschd/logon-trigger-example--c---,
    

        

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Ты можешь сделать:
hr = pRegInfo

BSTR
- это строка другого типа с широким строковым литералом. Класс
_bstr_t
является оберткой, которая в данном случае делает временный
BSTR
из литерала для передачи в функцию. Смотрите эту статью для получения дополнительной информации     
...