IRP_MJ_DEVICE_CONTROL

Тема в разделе "WASM.WIN32", создана пользователем JNTT, 22 июл 2005.

  1. JNTT

    JNTT New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    17
    Адрес:
    Russia
    Чето не могу разобраться.(

    В обработчике «IRP_MJ_DEVICE_CONTROL» запросов хочу сделать отправку данных в пользовательское приложение. Использую METHOD_OUT_DIRECT, но не могу отправить больше 4-х байт. Вызовом «MmGetMdlByteCount» убедился, что размер буфера как раз 4 байта. Можно ли его увеличить?

    Заранее спасибо.
     
  2. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Нет. Буфер ведь выделяет пользователь. Находиться он может где угодно: в куче, в стеке, в секции данных...
     
  3. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Посмотри внимательнее DeviceIoControl... Если ты программируешь на ЯВУ, то там много "граблей" перевода типов "указатель" и "структура"
     
  4. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Я не совсем верно понял вопрос. Есть хороший пример DDK\src\general\ioctl\ - там разобраны все методы в/в.
     
  5. JNTT

    JNTT New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    17
    Адрес:
    Russia
    Все получилось, в самом деле размер буфера зависит от одного из парамметров DeviceIoControl. У меня стоял sizeof от указателя))

    Всем, еще раз, спасибо за помощь.