ZwLoadDriver problem

Тема в разделе "WASM.BEGINNERS", создана пользователем DeHunter, 27 дек 2005.

  1. DeHunter

    DeHunter New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    80
    Адрес:
    Ukraine/Kiev
    Здраствуйте. У меня почемуто не выходит запустить драйвер используя функцию ZwLoadDriver.
    Код (Text):
    1.  
    2. //--------- inti some stack varz
    3.     char buff[256] ;
    4.     DWORD dwType ;
    5.     HKEY Key, Key2 ;
    6.     UNICODE_STRING  us, usReg ;
    7.     DWORD status ;
    8.     //-------- create values in register
    9.     status = STATUS_SUCCESS ;
    10.     lstrcpy(buff, "\\??\\") ;
    11.     GetFullPathName(pPath, sizeof(buff), (LPTSTR)&(buff[4]), (LPTSTR *)&dwType ) ;
    12.     RegOpenKey( HKEY_LOCAL_MACHINE, "System\\CurrentControlSet\\Services", &Key ) ;
    13.     RegCreateKey(Key, pDrvDispName, &Key2 ) ;
    14.     RegSetValueEx(Key2, "ImagePath", 0, REG_SZ, (BYTE *)&buff, lstrlen(buff) ) ;
    15.     dwType = 1 ;
    16.     RegSetValueEx(Key2, "Type", 0, REG_DWORD, ( BYTE *)&dwType, 4 ) ;
    17.     RegSetValueEx(Key2, "ErrorControl", 0, REG_DWORD, ( BYTE *)&dwType, 4 ) ;
    18.     dwType = 0x3 ;
    19.     RegSetValueEx(Key2, "Start", 0, REG_DWORD, ( BYTE *)&dwType, 4 ) ;
    20.     RegCloseKey(Key2) ;
    21.     RegCloseKey(Key);
    22.     lstrcpy(buff, "\\registry\\machine\\system\\CurrentControlSet\\Services\\" ) ;
    23.     lstrcat(buff, pDrvDispName ) ;
    24.     lstrcat(buff, "\\") ;
    25.     MessageBox(0,buff,buff,0) ;
    26.     RtlInitUnicodeString(&us, buff ) ;
    27.     //-------- load driver
    28.     status = ZwLoadDriver(&us)  ;
    29.     if( status != STATUS_SUCCESS)
    30.         return status ;
    31.  


    Возврашяет STATUS_OBJECT_PATH_SYNTAX_BAD. Вродебы драйвер на месте. Путь в реестре записывается правильный.

    Что я неправильно сделал ?