MEM_DES 结构 (cfgmgr32.h)

MEM_DES结构用于指定描述设备实例内存使用情况的资源列表或资源要求列表。 有关资源列表和资源要求列表的详细信息,请参阅 硬件资源

语法

typedef struct Mem_Des_s {
  DWORD     MD_Count;
  DWORD     MD_Type;
  DWORDLONG MD_Alloc_Base;
  DWORDLONG MD_Alloc_End;
  DWORD     MD_Flags;
  DWORD     MD_Reserved;
} MEM_DES, *PMEM_DES;

成员

MD_Count

对于资源列表:

Zero。

对于资源要求列表:

MEM_RESOURCE 结构中包含的MEM_RANGE数组中的元素数。

MD_Type

必须设置为 MType_Range常量值。

MD_Alloc_Base

对于资源列表:

分配给设备的连续物理内存地址范围中编号最低的。

对于资源要求列表:

Zero。

MD_Alloc_End

对于资源列表:

分配给设备的一系列连续物理内存地址中编号最高的。

对于资源要求列表:

Zero。

MD_Flags

下表所述的每个标志集中 一个位标志。

标志 定义
只读标志
fMD_ROM 指定的内存范围是只读的。
fMD_RAM 指定的内存范围不是只读的。
mMD_MemoryType 指定只读属性 的 MD_Flags 中的位的位掩码。
仅写标志
fMD_ReadDisallowed 指定的内存范围是只读的。
fMD_ReadAllowed 指定的内存范围不是仅写的。
mMD_Readable 指定只写属性 MD_Flags 中的位的位掩码。
地址大小标志
fMD_24 ) 未使用 24 位寻址 (。
fMD_32 32 位寻址。
mMD_32_24 指定地址大小的 MD_Flags 内位的位掩码。
预提取标志
fMD_PrefetchAllowed 可以预提取指定的内存范围。
fMD_PrefetchDisallowed 无法预提取指定的内存范围。
mMD_Prefetchable 指定预提取功能 MD_Flags 中的位的位掩码。
缓存标志
fMD_Cacheable 可以缓存指定的内存范围。
fMD_NonCacheable 无法缓存指定的内存范围。
mMD_Cacheable 指定缓存能力的 MD_Flags 中的位的位掩码。
组合写入缓存标志
fMD_CombinedWriteAllowed 允许合并写入缓存。
fMD_CombinedWriteDisallowed 不允许合并写入缓存。
mMD_CombinedWrite 指定组合写入缓存能力的 MD_Flags 中的位的位掩码。

MD_Reserved

仅限内部使用。

要求

要求
Header cfgmgr32.h (包括 Cfgmgr32.h)

另请参阅

MEM_RANGE

MEM_RESOURCE