Функцию 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 | ||
| Замечания по платформе | Не имеется | |