使用套接字的lpNumberOfBytesRead和lpNumberOfBytesWritten

时间:2012-03-03 21:27:59

标签: c winapi

我正在学习C,我想知道我需要在WriteFile和ReadFile方法中为这些值添加什么

lpNumberOfBytesRead和lpNumberOfBytesWritten

WriteFile((HANDLE)sock, "\x05\x01\x00", 3, NULL, NULL);
ReadFile((HANDLE)sock, buf, 1024, NULL, NULL);

它在文档中说两个NULL值中的一个不能为NULL,正如我的朋友指出的那样......

任何想法*欢呼

1 个答案:

答案 0 :(得分:1)

假设您不打算使用重叠I / O(并且从您的问题中,我强烈地感觉到您不是),您需要将指针传递给将接收的DWORD变量价值观:

DWORD NumberOfBytesWritten;
WriteFile((HANDLE)sock, "\x05\x01\x00", 3, &NumberOfBytesWritten, NULL);

如果函数成功返回(并且您应该检查其返回值以确定),NumberOfBytesWritten将被设置为实际写入文件的字节数。