Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Проблема с указателями в WinAPI

Hello all,

Есть проблема... Почему так не работает

//........
POINT pt;
SendMessage(hSomeListView, LVM_GETITEMPOSITION, (WPARAM)index,
(LPARAM)&pt);
//При работе COMCTL32.dll выполняет недопустимую операцию
//........

А так работает

//........
POINT *ppt = (POINT *)VirtualAlloc(NULL,
sizeof(POINT), 0x8000000 | MEM_COMMIT,
PAGE_READWRITE);
SendMessage(hSomeListView, LVM_GETITEMPOSITION, (WPARAM)index,
(LPARAM)ppt);
VirtualFree(ppt, 0, MEM_RELEASE);

//....... ???????????

Ответить   Cyberbob Sun, 30 May 2004 11:05:55 +0400 (#157790)

 

Ответы:

А какая ОС?
Номер выпуска : 3169
Возраст листа : 251 (дней)
Количество подписчиков : 411
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/157853
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Sun, 30 May 2004 13:59:29 +0300 (#157853)

 

Здравствуйте !

hSomeListView - дескриптор окна не Вашего процесса ?

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 3170
Возраст листа : 251 (дней)
Количество подписчиков : 411
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158014
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Sun, 30 May 2004 22:10:20 +0400 (#158014)

 

Занятный вопрос :) Обсудить его было бы интересно...

Ответ получается из двух предположений:
1. поскольку программа в первом случае валится, скорее всего, hSomeListView -
дескриптор окна другого процесса (об этом уже упомянул "Victor Vakchturov");
вероятность совпадения адресов стека в адресных пространствах
двух процессов ничтожна
2. во втором случае в параметре VirtualAlloc передана немного неожиданная
комбинация флагов: 0x8000000 это SEC_COMMIT, используемый при
создании области разделяемой памяти, но явного указания на то, что
этот флаг можно использовать для VirtualAlloc мне не удалось найти;
можно посмотреть на полученное значение адреса, чтобы
убедиться, что выделена именно разделяемая память

--
Номер выпуска : 3172
Возраст листа : 252 (дней)
Количество подписчиков : 413
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158264
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Mon, 31 May 2004 10:38:32 +0400 (#158264)

 

Здравствуйте !

Вот-вот ! Мне тоже :-)

Скорее всего так и есть.
Однако, это только автор темы прояснить может.

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 3178
Возраст листа : 252 (дней)
Количество подписчиков : 413
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/158783
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Mon, 31 May 2004 22:05:08 +0400 (#158783)