LPCTSTR
определяется как const wchar_t *
или const char *
в зависимости от того, определен ли в вашем проекте символ препроцессора UNICODE
(или _UNICODE
, я забыл, какой из MFC использует).
Таким образом, решение вашей проблемы зависит от того, используете ли вы настройку UNICODE или нет.
Если вы используете его, вам нужно преобразовать строку в узкую строку.Для этого используйте CStringA
.
Если вы не используете UNICODE, вам нужно будет сделать изменяемую копию и передать ее в DLL, на случай, если она захочетизменить строку.Вы можете сделать это, создав копию, используя CString
.
. В любом случае, если у вас есть копия в объекте CString
, используйте метод GetBuffer
, чтобы получить изменяемый указатель на строку,вызовите функцию DLL и затем вызовите ReleaseBuffer
после вызова.