Показать сообщение отдельно
  #2  
Старый 24.01.2022, 22:41
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. lpLockStatus - это поинтер на структуру
3. cbBufSize - размер памяти переданный через lpLockStatus
2. pcbBytesNeeded - тоже поинтер, на DWORD
Оба параметра, если правильно помню, передавать как var параметры

Т.е. сигнатура будет примерно такой:
Код:
function QueryServiceLockStatus(hSCManager: SC_HANDLE;
  var lpLockStatus: QUERY_SERVICE_LOCK_STATUS; cbBufSize: DWORD;
  var pcbBytesNeeded: DWORD): BOOL;
Попробуй так (в cbBufSize передавать SizeOf(QUERY_SERVICE_LOCK_STATUS))

Если все сработает для одного статуса, то тогда можно будет дальше эксперементировать с тем, что бы получать несколько статусов.
Ответить с цитированием