我对此很新,所以任何澄清都会受到赞赏。使用函数ReadFile时,lpBuffer的类型如何与“要读取的字节数”参数进行交互?
例如,如果你有一个无符号短的MyShort [5]作为lpBuffer,然后你设置字节读取为2.将所有数据都存储在MyShort [0]中?或者第一个字节进入MyShort [0]而第二个字节进入MyShort [1]?将字节设置为读取时会发生什么增加呢?将16位进入MyShort [0]然后16位进入MyShort [1]等......?
由于
答案 0 :(得分:2)
lpBuffer
始终被视为指向指定字节数(nNumberOfBytesToRead
)的数组的指针。实际读取的字节数将存储在lpNumberOfBytesRead
参数指向的变量中,或者稍后存储为async(重叠)结果。因此,在您的情况下,如果您请求读取2个字节,它可能会读取两个字节,在MyShort[0]
中存储它们,或者只存储在MyShort[0]
的下半部分中的单个字节,或者根本不存储任何内容。如果您请求读取9个字节,则它将准备最多 9个字节,顺序存储2 + 2 + 2 + 2 + 1个字节。