KMDmanager и траблы, связанные с дровом.

Тема в разделе "WASM.BEGINNERS", создана пользователем nitrotoluol, 2 июн 2007.

  1. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Такая трабла.
    Дров не возвращает управление.. После старта дрова, все проходит успешно. DriverEntry возвращает успешный код. Я в сайсе вижу что все ок, но кмд-манаджер виснет наглухо. Ему просто не возвращают управление.

    Когда пытаюсь загрузиться со своего приложения, StartService так же не возвращает управления...


    Почему так...? Никаких циклов и многопотоков в дрове нет.
     
  2. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
  3. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Код (Text):
    1. NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath)
    2. {
    3. PVOID pDeviceObject;
    4.     pDriverObject->DriverUnload = DriverUnload;
    5.              return STATUS_SUCCESS;
    6. };
    7.  
    8.  
    9. NTSTATUS DriverUnload(IN PDRIVER_OBJECT pDriverObject)
    10. {  
    11.          return STATUS_SUCCESS;
    12. }
     
  4. axe_roma

    axe_roma New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2004
    Сообщения:
    93
    Адрес:
    Russia
    Если я правильно понял то твой драйвер остается в памяти так как ты возвращаешь статус
    Код (Text):
    1.  return STATUS_SUCCESS
    и драйвер не возврощает управление попробуй вписать
    Код (Text):
    1.  return STATUS_DEVICE_CONFIGURATION_ERROR
    и
    прочитай сдесь http://www.wasm.ru/article.php?article=drvw2k03
     
  5. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    axe_roma
    STATUS_DEVICE_CONFIGURATION_ERROR equ 0
    STATUS_SUCCESS equ 0
    ==========
    В чем разница?


    Угу, так и должно быть...
     
  6. axe_roma

    axe_roma New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2004
    Сообщения:
    93
    Адрес:
    Russia
    Тогда я не правильно тебя понял! Извени! :)
     
  7. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    nitrotoluol
    1.Ты чего там делаешь? Пишешь на С, объявления констант на асме
    #define STATUS_SUCCESS ((NTSTATUS)0x00000000L) // ntsubauth
    #define STATUS_DEVICE_CONFIGURATION_ERROR ((NTSTATUS)0xC0000182L)

    2. DriverUnload возвращает VOID.

    А почему при загрузке баги х.з.
     
  8. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    В моём ntstatus.inc
    STATUS_DEVICE_CONFIGURATION_ERROR equ 0C0000182h
     
  9. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Four-F
    axe_roma
    Я не думаю, что это из-за этого... Как-то в драйвере для контроля я возвращал
    0х12345678

    И все прекрасно работало... А сейчас виснет... Хотя айс показывает, что инициализация пройдена...
    ЗЫ: а в чем разница между КМД 1.4 и КМД 1.3