Welcome to TechNet Blogs Sign in | Join | Help

February 2008 - Posts

Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс.

Вопрос : Скажите, а невозможность загрузки в 64bit-процесс 32bit DLL - фатальна, или же возможны какие-то хаки, недокументированные обходные пути? Отвечаю здесь, так как ответ получился слушком длинным. Во-первых, про любые недокументированные возможности

Зачем нужна маска KEY_WOW64_RES?

Наткнулся на вопрос на форуме iXBT . В Windows SDK помимо флагов KEY_WOW64_64KEY и KEY_WOW64_32KEY определена маска KEY_WOW64_RES. Зачем она нужна? #ifndef KEY_WOW64_RES #define KEY_WOW64_RES (KEY_WOW64_64KEY | KEY_WOW64_32KEY) #endif Ответ: по большому
Posted by alexeypa | 0 Comments
Filed under:

Почему форматы файлов Microsoft Office настолько сложны?

Вслед за публикацией спецификаций, описывающих формат файлов Microsoft Office , Joel Spolsky написал неплохую статью , объясняющую почему формат этих файлов настолько сложен и, на первый взгляд, специально запутан до невозможности. A normal programmer
Posted by alexeypa | 0 Comments
Filed under:

Помните, как я ругался на функцию GetRawInputDeviceList?

Оказалось, что это была ошибка в документации. Её поправили и посмотрите, что получилось . Было: puiNumDevices [in, out] Pointer to a variable. If pRawInputDeviceList is NULL, it specifies the number of devices attached to the system. Otherwise, it contains

Ввод регистрационного номера программы. Ну почему всё так непросто?

Некоторое время назад я занимался жутко интеллектуальной деятельностью – ручной проверкой результатов автоматического теста, проверяющего корректность работы популярных приложений на данной сборке операционной системы. Проще говоря, этот тест устанавливает
Posted by alexeypa | 4 Comments
Filed under:

Кстати ещё одна причина, почему DllMain должна выполнять как можно меньше работы...

…это возможность распараллелить код инициализации подсистем по разным процессорам. Учитывая скорость распространения многоядерных процессоров это становиться актуальной задачей. Вынести большую часть кода из DllMain и конструкторов статических объектов

Возвращаясь к теме про фаззеры.

Вот код, которым я пользуюсь для написания стресс тестов и фаззеров в своих проектах. Класс EntropyGenerator – обертка вокруг генератора случайных чисел. class EntropyGenerator { public: EntropyGenerator(): m_replay_index(std::numeric_limits<size_t>::max())
 
Page view tracker