· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› SEH или IsBadReadPtr()

Посл.отвђт Сообщенiе


Дата: Мар 12, 2004 14:20:28

Имеется два потока, использующих один виртуальный буффер (VirtualAllocEx): первый (Поток1)- пишит в него и при не надобности сокращает буффер (или даже удаляет его), второй (Поток2)- только читает из буффера в цикле (обновляет програмные данные). Понятно, что если Поток1 сократит (или удалит) буффер, то Поток2, вполне вероятно, получит GPF. Так вот вопрос: что лучше (красивее, правильнее и т.д. и т.п.) использовать в Потоке2- SEH или перед чтением из буфера вызывать IsBadReadPtr(lpReadAddress,4)?


Дата: Мар 12, 2004 14:49:43

Если нужна скорость, то SEH, если размер - IsBadReadPtr()
Обоснование простое - IsBadReadPtr() тоже ставит SEH и в цикле пробует читать все байты из диапазона =)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.100