OS/2 FAQ
OS/2 Programming FAQ - пpогpаммиpование. Статья 060
Как осуществить 16->32-bit thunking для данных? | |
(All) Q: Как осуществлять передачу параметров при использовании API из 16-битного кода? Пусть, например, мне нужно вызвать SomeFunc, которой нужно передать 32-битный указатель, а у меня он располагается в ds:si.
(Maxim Elkin, 2:5020/979.1) //Convert 16bit selector:offset pointer to flat 32bit one #define SEL2FLAT(x) (PVOID)( ( ((ULONG)x>>3) & 0xffff0000l) | ((ULONG)x&0xffffl) )То есть на ассемблере 2-3 команды (смотря где у тебя лежит 16:16 ptr). Hо, сам понимаешь, не гарантируется совместимость с будущими версиями оси.
(Max Alekseyev, 2:5015/60) |
К предыдущей статье | К оглавлению раздела | К следующей статье
Вернуться к списку разделов FAQ.
Если у вас есть вопросы или пожелания, пишите, мы будем рады.Данный FAQ cоставили Ivan Borovicov и Viatcheslav Odintsov (2:5020/181) на основе OS/2 FAQ Дмитрия Завалишина (dz) и материалов переписки в группе эхоконференций su.os2.*. Оформление статей: Николай Королев. Программирование JSP для RU/2: Евгений Кулешов. Благодарности: Дмитрию Максимовичу (MaximDim) за громадную помощь на первых этапах и Дмитрию Бану (banshee) за его помощь при проверке текста.
Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ