Estoy intentando depurar la impresión de una cadena LPCWSTR
, pero aparece un problema durante la inserción sprintf
en el búfer, porque recupera solo el primer carácter de la cadena.sprintf una variable LPCWSTR
Aquí está el código:
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);
}
Por ejemplo me sale CreateFileW: C
o CreateFileW: \
.
¿Cómo lo introduzco correctamente en el búfer?
Gracias.
¿No deberías usar la versión wide-char: 'wsprintf_s'? – AraK