Функція OpenService
ФункціяOpenServiceвідкриває існуючу службу.
[in] Дескриптор бази даних диспетчера керування службою. ФункціяOpenSCManagerповертає цей дескриптор.
[in] Вказівник на рядок із завершальним нулем, який задає ім'я служби, що відкривається. Максимальна довжина рядка – 256 символів. База даних диспетчера керування службами зберігає регістр символів, але порівняння імені служби завжди нечутливі до регістру. Прямий слеш (/) і зворотний слеш (\) - символи імені служби, які не використовуються.
[in] Доступ до служби. Перелік прав доступу див. у статтіЗахист служби та права доступу.
Перед наданням затребуваного доступу, система перевіряє маркер доступу процесу, що викликає, спираючись на список розмежувального контролю доступу дескриптора безпеки, пов'язаного з об'єктом служби.
Значення, що повертаються
Якщо функція завершується успішно, значення, що повертається - дескриптор служби.
Якщо функція завершується помилкою, значення, що повертається - значення ПУСТО (NULL). Щоб отримати додаткову інформацію про помилку, зателефонуйтеGetLastError.
Наступні коди помилки можуть інсталюватися диспетчером керування службами. Інші можуть встановити функції реєстру, які викликає диспетчер керування службами.
| ERROR_ACCESS_DENIED | Дескриптор не має доступу до служби. |
| ERROR_INVALID_HANDLE | Зазначений дескриптор недійсний. |
| ERROR_INVALID_NAME | Вказане ім'я служби недійсне. |
| ERROR_SERVICE_DOES_NOT_EXIST | Вказана служба не існує. |
Повернутий дескриптор дійсний лише для процесу, що викликанийфункцієюOpenService. Він може бути закритий за допомогою функціїCloseServiceHandle.
Демонстраційний код
Дивись також
Розміщення та сумісністьOpenService