Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Использование StartService   Найти похожие ветки 

 
Dyakon_Frost ©   (2006-01-25 17:29) [0]

Привет всем!
Вопрос касается запуска сервисов!
Есть команда StartService для запуска сервисов:
BOOL StartService(
 IN SC_HANDLE hService, // handle службы
 IN DWORD dwArgc,    // количество аргументов
 IN PCTSTR * pArgv   // массив аргументов
);

Вопрос вот в чем - Обязательно ли передавать массив аргументов и как правельно это делать? В С++ можно не использовать этот параметр написав null; в Delphi это не канает(nil разумеется - StartService(sh, 0, nil);)? Что можно сделать?

Заранее спасибо!


 
BiN ©   (2006-01-25 17:40) [1]

lpServiceArgVectors
[in] Pointer to an array of pointers to null-terminated strings to be passed to a service as arguments. Driver services do not receive these arguments. If no arguments are passed to the service, this parameter can be NULL. The service accesses these arguments through its ServiceMain function. The first argument (argv[0]) is the name of the service by default, followed by the arguments, if any, in the lpServiceArgVectors array.

NULL в С - это аналог nil в Delphi


 
Dyakon_Frost ©   (2006-01-25 17:49) [2]

На счет null - мне понятно! Но почему в Delphi нельзя использовать nil в этой функции, допустим так:  StartService(sh, 0, nil);
Delphi выдает ошибку! Вот я и хочу знать какой именно надо передавать параметр!


 
BiN ©   (2006-01-25 17:55) [3]

Попробуй PChar(nil) или объяви функцию самостоятельно

type
 PPchar = ^PChar;

function StartService(hService: SC_HANDLE; dwNumServiceArgs: DWORD;
 lpServiceArgVectors: PPChar): BOOL; stdcall;


 
begin...end ©   (2006-01-25 18:00) [4]

StartService(..., ..., PChar(nil^))


 
Dyakon_Frost ©   (2006-01-25 18:15) [5]

Отлично работает!
Спасибо большое, а то я уже и незнал что делать!



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
2-1143787684
SergeyG
2006-03-31 10:48
2006.04.16
Объем .exe файла


11-1124357132
Domix
2005-08-18 13:25
2006.04.16
Динамическое создание форм из консоли


10-1115971030
Priest
2005-05-13 11:57
2006.04.16
Динамическое добавление методов к IDispatch


15-1143372358
Andy BitOff
2006-03-26 15:25
2006.04.16
TV-тюнер vs Плата видео захвата


2-1143721976
Scavenger
2006-03-30 16:32
2006.04.16
RadioGroup