IRP_MJ_READ && IRP_MJ_WRITE

Тема в разделе "WASM.WIN32", создана пользователем shameel, 7 дек 2004.

  1. shameel

    shameel New Member

    Публикаций:
    0
    Регистрация:
    6 дек 2004
    Сообщения:
    25
    Адрес:
    Kazakhstan
    Чето я запутался. Когда дровина обрабатывает IRP_MJ_READ, IRP_MJ_WRITE то данные передаются в irp->MdlAddress (если флаг установлен в DO_DIRECT_IO). Размер этого буфера можно узнать с помощью MmGetMdlByteCount(irp->MdlAddress), а MmGetMdlByteOffset(irp->MdlAddress) возвращает смещение. Зачем нужно это смещение и нужно ли его использовать?
     
  2. nobody

    nobody New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2004
    Сообщения:
    32
    Адрес:
    Afghanistan
    Нет ,не нужно.

    Тебе нужно определить адрес через MmGetSystemAddressForMdlSafe
     
  3. shameel

    shameel New Member

    Публикаций:
    0
    Регистрация:
    6 дек 2004
    Сообщения:
    25
    Адрес:
    Kazakhstan
    Значит можно сразу использовать буфер. Спасибо