[英]“ReadFile Function” is there a way that I can no longer declare specific number of bytes to be read?
[英]How can I change text that is read via ReadFile function
如何更改通过ReadFile函数读取的文本? 我正在使用弯路来钩住ReadFile函数调用。 它可以正常工作(由于调试消息框,我认为是这样),但是我无法更改从文件读取的文本。
static BOOL(WINAPI * true_read_file)(
HANDLE hFile
, LPVOID lpBuffer
, DWORD nNumberOfBytesToRead
, LPDWORD lpNumberOfBytesRead
, LPOVERLAPPED lpOverlapped) = ReadFile;
BOOL WINAPI my_read_file(
HANDLE hFile
, LPVOID lpBuffer
, DWORD nNumberOfBytesToRead
, LPDWORD lpNumberOfBytesRead
, LPOVERLAPPED lpOverlapped)
{
MessageBoxA(NULL, "my_read_file", "Some caption", MB_OK);
std::strcpy((char*)lpBuffer, "str"); // It doesn't work
return TRUE;
}
我究竟做错了什么? 我该如何解决?
提前致谢。
错误1:您应该检查nNumberOfBytesToRead,可能为1,因此您代码溢出了缓冲区。
错误2:您错过填写lpNumberOfBytesRead。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.