Функція 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