ITBlogs

Сообщество IT-профессионалов
Welcome to ITBlogs Sign in | Join | Help
in Search

Browse by Tags

All Tags » itblogs » Win32
  • Функция DeviceIoControlEx.

    Win32 API предоставляет «Ex» варианты функций ReadFile и WriteFile, в то время как «Ex» варианта функции DeviceIoControl не предлагается. Исправить этот недостаток очень просто, так как соответствующая функция Native API документирована в MSDN: NtDeviceIoControlFile (хотя и помечена как «Deprecated»). Прототип новой функции будет выглядеть вот ...
    Posted to Not a kernel guy (Weblog) by Anonymous on июня 15, 2011
  • Зачем нужен параметр lpClass в функции RegCreateKeyEx?

    Любой разработчик, кто хоть раз создавал ключ в реестре с помощью функции RegCreateKeyEx задавался вопросом: «а зачем нужен параметр lpClass и что он означает?» lpClass [in, optional] The user-defined class type of this key. This parameter may be ignored. This parameter can be NULL. MSDN, в общем то, не даёт прямого ответа на этот ...
    Posted to Not a kernel guy (Weblog) by Anonymous on декабря 5, 2008
  • Почему GetModuleFileName возвращает “system32” для 32-х битных библиотек под Wow64?

    Вопрос: 32-х битный процесс запущен на 64-х битной системе. Почему для некоторых библиотек GetModuleFileName возвращает путь вида “%SystemRoot%\syswow64”, а для других - “%SystemRoot%\system32”, не смотря на то, что и первые, и вторые находятся в “%SystemRoot%\syswow64”? Ответ: Потому что загрузчик понятия не ...
    Posted to Not a kernel guy (Weblog) by Anonymous on июня 22, 2008
  • Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс.

    Вопрос: Скажите, а невозможность загрузки в 64bit-процесс 32bit DLL - фатальна, или же возможны какие-то хаки, недокументированные обходные пути? Отвечаю здесь, так как ответ получился слушком длинным. Во-первых, про любые недокументированные возможности меня спрашивать бесполезно. Даже если такая возможность существует, я всё равно о ней не ...
    Posted to Not a kernel guy (Weblog) by Anonymous on февраля 29, 2008
  • Помните, как я ругался на функцию 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 the size, in bytes, of the preallocated buffer pointed to by pRawInputDeviceList. However, ...
    Posted to Not a kernel guy (Weblog) by Anonymous on февраля 16, 2008
  • Пикник на обочине или не ходите, дети, в DllMain гулять, а то ноги оторвёт.

    Точка входа в DLL, так же как и точка входа в программу, - это очень специальное место. Зона. В Зоне действуют свои правила касательно того, что можно делать, а что делать нельзя. В Зоне можно инициализировать локальные данные DLL, можно создавать критические секции. В Зоне нельзя динамически загружать другие Модули или создавать потоки. Любой ...
    Posted to Not a kernel guy (Weblog) by Anonymous on января 31, 2008
  • Эта страшная функция GetRawInputDeviceList.

    Функцию GetRawInputDeviceList можно смело приводить в качестве антипримера правильно спроектированного API. Эта функция используется для получения списка описателей устройств ввода (raw input devices). Ничего сложного. Прототип функции тоже выглядит довольно невинно – всего три параметра, и, как кажется по началу, назначение каждого довольно ...
    Posted to Not a kernel guy (Weblog) by Anonymous on декабря 6, 2007
Powered by Community Server (Personal Edition), by Telligent Systems