Sto tentando di eseguire il debug di stampa una stringa LPCWSTR
, ma durante il push sprintf
si verifica un problema nel buffer, poiché recupera solo il primo carattere dalla stringa.sprintf una variabile LPCWSTR
Ecco il codice:
HANDLE WINAPI hookedCreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) {
char buffer[1024];
sprintf_s(buffer, 1024, "CreateFileW: %s", lpFileName);
OutputDebugString(buffer);
return trueCreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwFlagsAndAttributes, dwCreationDisposition, hTemplateFile);
}
Per esempio ottengo CreateFileW: C
o CreateFileW: \
.
Come inserirlo correttamente nel buffer?
Grazie.
Non dovresti usare la versione wide-char: 'wsprintf_s'? – AraK