Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

start usługi: The filename, directory name, or volume label syntax is incorrect.

krs321 15 Maj 2011 12:12 1682 14
  • #1 15 Maj 2011 12:12
    krs321
    Poziom 10  

    Witam.
    Dodałem własny sterownik jako usługę i net start zwraca mi błąd "The filename, directory name, or volume label syntax is incorrect".
    Przeszukałem (z tego co historia przeglądarki podpowiada) ponad 160 stron z tym błędem i nie znalazłem rozwiązania. Proszę o pomoc.

    start usługi: The filename, directory name, or volume label syntax is incorrect. start usługi: The filename, directory name, or volume label syntax is incorrect. start usługi: The filename, directory name, or volume label syntax is incorrect.

    0 14
  • #2 15 Maj 2011 13:33
    gallus [pl]
    Poziom 31  

    A może spróbuj zmienić wartość ImagePath na

    Code:
    \??\C:\mydriver.sys

    0
  • #3 15 Maj 2011 15:01
    krs321
    Poziom 10  

    Gallus rozwiązało to problem lecz stworzyło kolejny. Teraz dostaje: "Error 193: %1 is not a valid Win32 application".

    mydriver.c

    Kod: c
    Zaloguj się, aby zobaczyć kod

    MAKEFILE
    Cytat:

    !INCLUDE $(NTMAKEENV)\makefile.def

    SOURCES
    Cytat:

    TARGETNAME=mydriver
    TARGETPATH=OBJ
    TARGETTYPE=DRIVER
    SOURCES=mydriver.c

    Kompiluje przy pomocy WDK.v10.7600.091201. Kompilacja przebiega bez błędnie:


    Cytat:

    C:\WinDDK\mydriver>build
    BUILD: Compile and Link for x86
    BUILD: Loading c:\winddk\7600.16385.1\build.dat...
    BUILD: Computing Include file dependencies:
    BUILD: Start time: Sun May 15 13:57:24 2011
    BUILD: Examining c:\winddk\mydriver directory for files to compile.
    BUILD: Saving c:\winddk\7600.16385.1\build.dat...
    BUILD: Compiling and Linking c:\winddk\mydriver directory
    Configuring OACR for 'root:x86chk' - <OACR on>
    BUILD: Finish time: Sun May 15 13:57:29 2011
    BUILD: Done

    C:\WinDDK\mydriver>

    Liczę na pomoc.

    0
  • #5 15 Maj 2011 15:35
    krs321
    Poziom 10  

    Po dodaniu cudzysłowów: "\??\C:\mydriver.sys" wywala pierwszy błąd: The filename, directory name, or volume label syntax is incorrect.

    0
  • #6 15 Maj 2011 15:44
    gallus [pl]
    Poziom 31  

    A może zostaw tylko

    Code:
    "C:\mydriver.sys"

    0
  • #7 15 Maj 2011 15:58
    krs321
    Poziom 10  

    Próbowałem już. Dodam że korzystam z programu który tworzy klucz.
    Funkcja CreateService tworzy dokładnie taki wpis:

    Cytat:

    \??\c:\mydriver.sys

    próbowałem również dodać programowo plik .exe jednak też dostaję błąd:
    Cytat:
    System error 193 has occurred.
    *** is not a valid Win32 application.

    jednak ten program mogę uruchomić zwykłym dwuklikiem. W ten sposób wykluczam możliwość iż coś nie tak jest ze sterownikiem.
    Czyli ścieżka w kluczu jest raczej poprawna. Może jest to spowodowane jakimiś zabezpieczeniami? Jedyne co mi przychodzi do głowy...

    0
  • #8 15 Maj 2011 16:11
    gallus [pl]
    Poziom 31  

    A co to za sterownik jest, bo z tego co wyczytałem to taki problem pojawia się jeżeli chcesz go uruchomić na niewłaściwym systemie operacyjnym 32/64 bit...

    0
  • #9 15 Maj 2011 16:43
    krs321
    Poziom 10  

    gallus [pl] napisał:
    A co to za sterownik jest, bo z tego co wyczytałem to taki problem pojawia się jeżeli chcesz go uruchomić na niewłaściwym systemie operacyjnym 32/64 bit...

    Jest to najprostszy sterownik urządzenia. Taki "hello world".
    Posiadam 64bitowego turiona i 32bitową viste. Sterownik kompiluję jako x86 Checked build(wersja debug). Jak wspomniałem wcześniej nie wydaję mi się żeby program wynikowy był problemem, ponieważ jak wspomniałem wcześniej, jako usługę próbowałem uruchomić plik .exe(proste okno w winapi), który bez problemu uruchamiam dwuklikiem. Dostaję ten sam błąd iż jest to nie prawidłowa aplikacja win32 kiedy próbuję go uruchomić jako usługę.

    0
  • #10 15 Maj 2011 17:09
    gallus [pl]
    Poziom 31  

    Też nie podejrzewałem, błędu w programie może spróbuj na jakimś innym kompie/systemie operacyjny.

    0
  • #11 15 Maj 2011 19:52
    WojtasJD
    VIP Zasłużony dla elektroda

    Ten 'najprostszy sterownik urządzenia' ma mieć aż 2MB ?

    Spróbuj też tak:
    sc create mydriver1 type= kernel binPath= c:\mydriver.sys DisplayName= mydriver

    0
  • #12 15 Maj 2011 20:12
    krs321
    Poziom 10  

    @gallus na razie nie mam dostępu do innej maszyny, dam znać kiedy przetestuje.

    @WojtasJD tak, jest to wersja debug dlatego tyle "waży".
    Czy sprawdzałeś to wywołanie u siebie? u mnie ono nie przechodzi tak jakby miało źle podane parametry, czyli zwraca to samo co "sc create". Serwis nie jest tworzony.

    0
  • #13 15 Maj 2011 20:55
    WojtasJD
    VIP Zasłużony dla elektroda

    Aha, sprawdzałem tyle, że nie z Twoim *.sys tylko jakimś programikiem i dodaje się, uruchamia.

    0
  • #14 15 Maj 2011 22:00
    krs321
    Poziom 10  

    Musiałem zrobić literówkę. Ale ok, jedziemy dalej. Skoro sprawdziłeś i działa to wiele wnosi. Wykonałem u siebie test z notepad.exe. Plik ten skopiowałem na c:\. Ponad to znajduję się on w c:\WINDOWS\; c:\WINDOWS\System32\.
    (wszystkie wpisy mydriver1, mydrivern były usuwane, komputer był restartowany przed każda nowa próba)

    1.Próba:

    Code:

    c:\>sc create mydriver1 type= kernel binPath= c:\notepad.exe DisplayName= mydriver1
    [SC] CreateService SUCCESS

    c:\>net start mydriver1
    System error 2 has occurred.

    The system cannot find the file specified.

    c:\>


    2.Próba:
    Code:

    c:\>sc create mydriver2 type= kernel binPath= c:\windows\system32\notepad.exe DisplayName= mydriver2
    [SC] CreateService SUCCESS

    c:\>net start mydriver2
    BSOD...

    Oczywiście próby wykonywałem z mydriver.sys oraz okno.exe(puste okno w winapi, kompilowane w MS Visual c++ 2008) Kopie tych plików znajdowały się w tych samych lokacjach co notepad.exe. Każda z prób kończyła się:
    Code:
    System error 193 has occurred.
    
    *** is not a valid Win32 application.

    Dodam że jeszcze inna binarka stworzona przeze mnie zwraca mi:
    Code:
    System error 487 has occurred.
    
    Attempt to access invalid address.

    0
  • #15 16 Maj 2011 12:53
    krs321
    Poziom 10  

    Udało mi się uruchomić sterownik tylko że w wersji relase. Co prawda DebugView pokazuje mi komunikaty jednak nie jestem pewien czy do nauki testowanie relase mi wystarczy.
    Coś mi świta, ponieważ spotkałem się z czymś co się odnosiło do kernel debug. Jakaś usługa systemowa?
    Sprawdziłem od razu .exe kompilowanego jako relase i wywala mi błąd, który podałem w ostatnim poście:

    Code:
    System error 487 has occurred.
    
    Attempt to access invalid address.

    Podejrzewam że jest to związane z tym iż dodaję usługę jako kernel driver. Czy ktoś mógł by to potwierdzić/zaprzeczyć?

    0