19.6.82. Memory32(内存资源描述符宏)
语法 :
Memory32 (ReadAndWrite, AddressMinimum, AddressMaximum, AddressAlignment, RangeLength, DescriptorName)
参数
ReadAndWrite 指定内存区域是只读(ReadOnly)还是读/写(ReadWrite)。如果未指定任何内容,则假定为 ReadWrite。会自动创建 1 位字段 DescriptorName._RW 来引用资源描述符的这一部分,其中 ‘1’ 表示 ReadWrite,‘0’ 表示 ReadOnly。
AddressMinimum 求值为一个 32 位整数,指定该内存范围最低可能基地址。该值必须是 AddressAlignment 的偶数倍。会自动创建 32 位字段 DescriptorName._MIN 来引用资源描述符的这一部分。
AddressMaximum 求值为一个 32 位整数,指定该内存范围最高可能基地址。该值必须是 AddressAlignment 的偶数倍。会自动创建 32 位字段 DescriptorName._MAX 来引用资源描述符的这一部分。
AddressAlignment 求值为一个 32 位整数,指定该内存范围所需的对齐。所选地址必须是该值的偶数倍。会自动创建 32 位字段 DescriptorName. _ALN 来引用资源描述符的这一部分。
RangeLength 求值为一个 32 位整数,用于指定该内存范围内被解码的总字节数。会自动创建 32 位字段 DescriptorName. _LEN 以引用资源描述符的这一部分。该范围长度以 1 字节块为单位给出内存范围的长度。
DescriptorName 是一个可选参数,用于指定一个整型常量的名称,该常量将在当前作用域中创建,并包含此资源描述符在当前资源模板缓冲区内的偏移量。可将预定义的描述符字段名附加到该名称之后,以便通过缓冲区字段运算符访问描述符中的各个字段。
说明
Memory32 宏求值为一个缓冲区,其中包含一个 32 位内存描述符,该描述符描述了一个具有最小值、最大值和对齐要求的内存范围。该描述符的格式见第 6.4.3.3 节。该宏设计用于 ResourceTemplate(资源转缓冲区宏)内部。