Функцию GetVDMPointer32W используется в 16-разрядном коде, чтобы преобразовать указатель 16:16 в 32-разрядный указатель.
DWORD FAR PASCAL GetVDMPointer32W( LPVOID lpAddress, UINT fMode ); |
lpAddress
[in] Допустимый защищенный или реальный адрес режима 16:16.
fMode
[in] Определяет режим. Этот параметр может быть одним из ниже перечисленных значений.
Значение |
Предназначение |
---|---|
1 | Адрес интерпретируется как адрес защищенного режима. |
0 | Адрес интерпретируется как адрес реального режима. |
Возвращает 32-разрядный линейный адрес в случае успешного завершения или NULL в противном случае.
На платформах не-x86, реальный адрес режима 0:0, может не указывать на линейный 0 в памяти, так что всегда используйте функцию GetVDMPointer32W, чтобы избежать делать предположения о распределении памяти.
Модуль управления памятью перемещает сегменты в линейную память, но селекторы сохраняются теми же самыми. Однако, если Вы получаете линейный адрес блока, он не может быть правильным, если 16-разрядный распределитель памяти глобальных данных перемещает блок, куда указывает селектор.
Windows Me/98/95: Вы должны допускать, что глобальное уплотнение может произойти любое время, когда вводится унифицированный "переходник ", вызывается функция Win32 или текущее приложение выдает значение.Обзор Унифицированные "переходники " между 16-ти и 32-разрядными модулями, 16-разрядные функции унифицированного "переходника"
Размещение и совместимость GetVDMPointer32W | ||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С | Windows 2003 Server | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да |
в | ||
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Wownt16.h | |
- включено в | - | |
Unicode | ||
Замечания по платформе | Не имеется |