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))
Если все сработает для одного статуса, то тогда можно будет дальше эксперементировать с тем, что бы получать несколько статусов.