19.6.36. DWordSpace(DWord 空间资源描述符宏)
语法 :
DWordSpace (ResourceType, ResourceUsage, Decode, IsMinFixed, IsMaxFixed,
TypeSpecificFlags, AddressGranularity, AddressMinimum, AddressMaximum,
AddressTranslation, RangeLength, ResourceSourceIndex, ResourceSource,
DescriptorName)
参数
ResourceType 求值为一个 8 位整数,用于指定此资源的类型。可接受的值为 0xC0 到 0xFF。
ResourceUsage 指定该内存范围是由此设备消耗(ResourceConsumer)还是传递给子设备(ResourceProducer)。如果未指定任何内容,则假定为 ResourceConsumer。
Decode 指定设备是否使用正向解码(PosDecode)或减法解码(SubDecode)来解码该内存范围。如果未指定任何内容,则假定为 PosDecode。系统会自动创建 1 位字段 DescriptorName._DEC 以引用资源描述符的这一部分,其中“1”表示 SubDecode,“0”表示 PosDecode。
IsMinFixed 指定该内存范围的最小地址是固定的(MinFixed)还是可更改的(MinNotFixed)。如果未指定任何内容,则假定为 MinNotFixed。系统会自动创建 1 位字段 DescriptorName._MIF 以引用资源描述符的这一部分,其中“1”表示 MinFixed,“0”表示 MinNotFixed。
IsMaxFixed 指定该内存范围的最大地址是固定的(MaxFixed)还是可更改的(MaxNotFixed)。如果未指定任何内容,则假定为 MaxNotFixed。系统会自动创建 1 位字段 DescriptorName._MAF 以引用资源描述符的这一部分,其中“1”表示 MaxFixed,“0”表示 MaxNotFixed。
TypeSpecificFlags 求值为一个 8 位整数。这些标志特定于 ResourceType。
AddressGranularity 求值为一个 32 位整数,用于指定该内存范围必须对齐到的 2 的幂边界(- 1)。系统会自动创建 32 位字段 DescriptorName._GRA 以引用资源描述符的这一部分。
AddressMinimum 求值为一个 32 位整数,用于指定该内存范围可能的最低基址。凡是 AddressGranularity 中对应位为“1”的位,该值中的相应位都必须为“0”。对于执行地址转换的桥设备,这是次级总线上的地址。系统会自动创建 32 位字段 DescriptorName._MIN 以引用资源描述符的这一部分。
AddressMaximum 求值为一个 32 位整数,用于指定该内存范围可能的最高基址。凡是 AddressGranularity 中对应位为“1”的位,该值中的相应位都必须为“0”。对于执行地址转换的桥设备,这是次级总线上的地址。系统会自动创建 32 位字段 DescriptorName._MAX 以引用资源描述符的这一部分。
AddressTranslation 求值为一个 32 位整数,用于指定应加到次级总线 I/O 地址上的偏移量,以得到对应的主总线 I/O 地址。对于所有非桥设备,或不执行转换的桥,此值必须为“0”。系统会自动创建 32 位字段 DescriptorName._TRA 以引用资源描述符的这一部分。
RangeLength 求值为一个 32 位整数,用于指定该内存范围内被解码的总字节数。系统会自动创建 32 位字段 DescriptorName._LEN 以引用资源描述符的这一部分。
ResourceSourceIndex 是一个可选参数,求值为一个 8 位整数,用于指定由 ResourceSource 指定对象中的资源描述符。如果指定了此参数,则也必须指定 ResourceSource 参数。
ResourceSource 是一个可选参数,求值为一个字符串,包含产生资源池的设备路径,该内存范围即从该资源池中分配。如果指定了此参数但未指定 ResourceSourceIndex 参数,则假定其值为零。
DescriptorName 是一个可选参数,用于为将在当前作用域中创建的整型常量指定名称,该常量包含此资源描述符在当前资源模板缓冲区内的偏移量。可以将预定义的描述符字段名附加到该名称上,以通过缓冲区字段运算符访问描述符中的各个字段。
说明
DWordSpace 宏求值为一个缓冲区,其中包含一个 32 位地址空间资源描述符。该资源描述符的格式可参见DWORD 地址空间描述符。该宏设计用于 ResourceTemplate(资源到缓冲区转换宏)内部。