Почему не создается процесс?

Тема в разделе "WASM.BEGINNERS", создана пользователем yashechka, 4 янв 2012.

  1. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Угадал параметр для GetLastError

    Вот он

    ERROR_ACCESS_DENIED The handle to the SCM database does not have the SC_MANAGER_CREATE_SERVICE access right.


    Какие права? Почему не могу создать сервис?

    Исходник

    Код (Text):
    1. #include <windows.h>
    2. int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
    3. {
    4.     SC_HANDLE SCManager;
    5.     SC_HANDLE CreateServis;
    6.     char DriverPath[MAX_PATH];
    7.     char *NamePath;
    8.     SCManager = OpenSCManager(0, 0, SC_MANAGER_CONNECT );
    9.     if(SCManager)
    10.         MessageBox(0,"OpenSCManager","Открыли OpenSCManager ",0);
    11.     GetFullPathName("beep.sys", sizeof(DriverPath), DriverPath, &NamePath);
    12.     MessageBox(0,DriverPath,NamePath,0);
    13.     CreateServis = CreateService(SCManager,"beep1","Nice Melody Beeper",SERVICE_START, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_IGNORE, DriverPath, 0, 0, 0, 0, 0);
    14.     if(CreateServis)
    15.         MessageBox(0,"Nice Melody Beeper","Nice Melody Beeper",0);
    16.     else
    17.     {
    18.         if (GetLastError() == ERROR_ACCESS_DENIED)
    19.             MessageBox(0,0,0,0);
    20.     }
    21.            
    22.     return 0;
    23.  
    24. }
    25. MessageBox для проверки
     
  2. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Кто видет ошибку?
     
  3. Kaimi

    Kaimi Андрей

    Публикаций:
    0
    Регистрация:
    15 апр 2010
    Сообщения:
    120
    А SC_MANAGER_CONNECT и ошибка не намекают?
    Тогда почитай http://msdn.microsoft.com/en-us/library/windows/desktop/ms685981%28v=vs.85%29.aspx
     
  4. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Я читаю вот эту
     
  5. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    http://wasm.ru/article.php?article=drvw2k02


    Код (Text):
    1. .386
    2.  .model flat, stdcall
    3.  option casemap:none
    4.  
    5.  ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    6.  ;                                  I N C L U D E   F I L E S                                        
    7.  ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    8.  
    9.  include \masm32\include\windows.inc
    10.  
    11.  include \masm32\include\kernel32.inc
    12.  include \masm32\include\user32.inc
    13.  include \masm32\include\advapi32.inc
    14.  
    15.  includelib \masm32\lib\kernel32.lib
    16.  includelib \masm32\lib\user32.lib
    17.  includelib \masm32\lib\advapi32.lib
    18.  
    19.  include \masm32\Macros\Strings.mac
    20.  
    21.  ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    22.  ;                                         C O D E                                                  
    23.  ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    24.  
    25.  .code
    26.  
    27.  start proc
    28.  
    29.  LOCAL hSCManager:HANDLE
    30.  LOCAL hService:HANDLE
    31.  LOCAL acDriverPath[MAX_PATH]:CHAR
    32.  
    33.      invoke OpenSCManager, NULL, NULL, SC_MANAGER_CREATE_SERVICE
    34.      .if eax != NULL
    35.          mov hSCManager, eax
    36.  
    37.          push eax
    38.          invoke GetFullPathName, $CTA0("beep.sys"), sizeof acDriverPath, addr acDriverPath, esp
    39.          pop eax
    40.  
    41.          invoke CreateService, hSCManager, $CTA0("beep"), $CTA0("Nice Melody Beeper"), \
    42.                  SERVICE_START + DELETE, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, \
    43.                  SERVICE_ERROR_IGNORE, addr acDriverPath, NULL, NULL, NULL, NULL, NULL
    44.          .if eax != NULL
    45.              mov hService, eax
    46.              invoke StartService, hService, 0, NULL
    47.              invoke DeleteService, hService
    48.              invoke CloseServiceHandle, hService
    49.          .else
    50.              invoke MessageBox, NULL, $CTA0("Can't register driver."), NULL, MB_ICONSTOP
    51.          .endif
    52.          invoke CloseServiceHandle, hSCManager
    53.      .else
    54.          invoke MessageBox, NULL, $CTA0("Can't connect to Service Control Manager."), \
    55.                             NULL, MB_ICONSTOP
    56.      .endif
    57.  
    58.      invoke ExitProcess, 0
    59.  
    60.  start endp
    61.  
    62.  ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    63.  ;                                                                                                  
    64.  ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    65.  
    66.  end start
     
  6. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Ой ёёёёёёёёё. спасибо.

    SC_MANAGER_CREATE_SERVICE