структура 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
Для списка ресурсов:
Ноль.
Для списка требований к ресурсам:
Количество элементов в массиве MEM_RANGE , включенном в структуру MEM_RESOURCE .
MD_Type
Необходимо задать постоянное значение MType_Range.
MD_Alloc_Base
Для списка ресурсов:
Наименьший номер из диапазона смежных адресов физической памяти, выделенных устройству.
Для списка требований к ресурсам:
Ноль.
MD_Alloc_End
Для списка ресурсов:
Наибольшее число из диапазона смежных адресов физической памяти, выделенных устройству.
Для списка требований к ресурсам:
Ноль.
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
Только для внутреннего использования.
Требования
Требование | Значение |
---|---|
Заголовок | cfgmgr32.h (включая Cfgmgr32.h) |