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) |