File 使用MASM读取块中的文件

File 使用MASM读取块中的文件,file,io,masm,File,Io,Masm,我想用MASM逐块读取文件。Win32文档说我必须添加一个重叠结构,但我不知道如何在内存中创建该结构 保留结构构件的相应尺寸是否有效 union和struct的大小是多少 你能给我建议另一种方法吗 非常感谢您的帮助Windows API函数将重叠结构用于异步函数,这些函数在调用之前立即返回,以允许其他函数访问重叠结构。UNION和STRUCT指令没有大小,因为它只是汇编程序(或在大多数情况下,程序员)的一个指示器,指示某个数据块是UNION或结构。在MASM中指定UNION时,可以使用与UNIO

我想用MASM逐块读取文件。Win32文档说我必须添加一个重叠结构,但我不知道如何在内存中创建该结构

保留结构构件的相应尺寸是否有效

union和struct的大小是多少

你能给我建议另一种方法吗


非常感谢您的帮助

Windows API函数将重叠结构用于异步函数,这些函数在调用之前立即返回,以允许其他函数访问重叠结构。UNION和STRUCT指令没有大小,因为它只是汇编程序(或在大多数情况下,程序员)的一个指示器,指示某个数据块是UNION或结构。在MASM中指定UNION时,可以使用与UNION指令关联的变量将块的各个元素(db、dw、dd等)表示为单个元素(但是,这仅在实践中是正确的,因为在汇编中,您可以通过访问数据块的各个元素来绕过这一点)。另一方面,结构的每个元素都有一个单独的内存位置,它们都可以同时使用

最后,由于MASM中不存在重叠运算符,因此我建议使用STRUCT:

mystruct    struct
db          byteelement
dd          doublewordelement
mystruct    ends
当然,您应该根据需要更改此代码以匹配函数的重叠结构

您可以在此处找到有关MASM指令的更多信息:

希望这有帮助