Вниз
Скачать: CL | DM;

Тип запуска службы   Найти похожие ветки 

 
Дмитрий Ботвин   (2004-08-13 19:14) [0]

Люди, подскажите в чём ошибка. Есть функция, получающая
структуру типа:

  _QUERY_SERVICE_CONFIGA = record
   dwServiceType: DWORD;
   dwStartType: DWORD;
   dwErrorControl: DWORD;
   lpBinaryPathName: PAnsiChar;
   lpLoadOrderGroup: PAnsiChar;
   dwTagId: DWORD;
   lpDependencies: PAnsiChar;
   lpServiceStartName: PAnsiChar;
   lpDisplayName: PAnsiChar;
 end;

из неё я хочу узнать тип запуска службы. При вызове функции
QueryServiceConfig выдается ошибка. Вот кусок кода:

function GetServiceConfig(ServiceName: String): DWORD;
  var
    SCManager, Service: SC_HANDLE;
    BytesNeeded: DWORD;
    buf: PQueryServiceConfig;
  begin
    buf:=nil;
    TypeStart:=0;
    SCManager := OpenSCManager(PChar(Form1.CompName.Text), nil, GENERIC_READ);
    if SCManager <> 0 then
    try
      Service := OpenService(SCManager, PChar(ServiceName), SERVICE_QUERY_CONFIG);
      if Service <> 0 then
        try
          begin
            QueryServiceConfig(Service, buf, 4096, BytesNeeded);
            if buf<>nil then
              begin
                Result:=buf^.dwStartType;
              end;
          end;
        finally
          CloseServiceHandle(Service);
        end;
      else Result:=0;
     finally
        CloseServiceHandle(SCManager);
     end
    else Result:=0;
  end;


 
VMcL ©   (2004-08-14 01:52) [1]

Память Пушкин будет выделять?

1. Вызываешь QueryServiceConfig(Service, nil, 0, BytesNeeded); Таким образом узнаешь, скока функция хочет памяти.
2. GetMem(buf, BytesNeeded); или buf := AllocMem(BytesNeeded);
3. Потом QueryServiceConfig(Service, buf, BytesNeeded, BytesNeeded);
4. FreeMem(buf);


 
Дмитрий Ботвин   (2004-08-14 09:19) [2]

Спасибо, VMcL!!! Тупанул немного, забыл про выделение памяти.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
3-1095860969
Torex1111111111111111111
2004-09-22 17:49
2004.10.24
HELP!!!!! Срочно нужна помощь по сетевому доступу к базу данных


14-1097034845
Думкин
2004-10-06 07:54
2004.10.24
С днем рождения! 6 октября


3-1095938546
Nick-From
2004-09-23 15:22
2004.10.24
TDBComboBox не дает выбирать значения


14-1096573366
_silver
2004-09-30 23:42
2004.10.24
Методы оптимизации.


14-1096443359
Homer Simpson
2004-09-29 11:35
2004.10.24
Цена Windows




   Наверх