Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: 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 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.036 c
4-1095439222
veteran
2004-09-17 20:40
2004.10.24
Как найти файлы избранного?


3-1095876122
Алексей
2004-09-22 22:02
2004.10.24
TCliemtDataSet, XML, перенос "больших" объемов инфы из FOX в dBas


14-1096964489
080D:07BBh
2004-10-05 12:21
2004.10.24
Продать душу по инету ))


9-1087530602
VolanD
2004-06-18 07:50
2004.10.24
Вращение точки


10-1050575071
Vofka
2003-04-17 14:24
2004.10.24
Помогите начинающему с CORBA





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский