複製鏈接
請複製以下鏈接發送給好友

OpenSCManager

鎖定
OpenSCManager,函數建立了一個到服務控制管理器的連接,並打開指定的數據庫。
中文名
OpenSCManager
對    象
windows API函數
參    數
指向零終止字符串
實    質
服務控制管理器

目錄

OpenSCManager簡介

function OpenSCManager(
lpMachineName: PChar,
lpDatabaseName: PChar,
dwDesiredAccess: DWORD): SC_HANDLE; stdcall;
參數
lpMachineName
指向零終止字符串,指定目標計算機的名稱。如果該指針為NULL ,或者它指向一個空字符串,那麼該函數連接到本地計算機上的服務控制管理器。
lpDatabaseName
指向零終止字符串,指定將要打開的服務控制管理數據庫的名稱。此字符串應被置
為 SERVICES_ACTIVE_DATABASE。如果該指針為NULL ,則打開默認的 SERVICES_ACTIVE_DATABASE
數據庫。
dwDesiredAccess
指定服務訪問控制管理器的權限。在授予要求的權限前,系統會檢查調用進程的權限令牌,該令牌針對與服
務控制管理器相關的安全描述符的權限控制列表。此外,該函數的調用將隱式地指定
SC_MANAGER_CONNECT 的訪問權限。
此外,下列服務控制管理器對象的訪問類型可以被指定:
SC_MANAGER_ALL_ACCESS 除了所有此表中列出的訪問類型,還包括
STANDARD_RIGHTS_REQUIRED。
SC_MANAGER_CONNECT 可以連接到服務控制管理器。
SC_MANAGER_CREATE_SERVICE 使要求的CreateService函數創建一個服務對象,並將其添加到數
據庫中。
SC_MANAGER_ENUMERATE_SERVICE 使要求的EnumServicesStatus功能清單的服務,這是在數據庫
中。
SC_MANAGER_LOCK 使要求的LockServiceDatabase功能獲得鎖定數據庫。
SC_MANAGER_QUERY_LOCK_STATUS 使要求的QueryServiceLockStatus檢索功能鎖定狀態信息的數據
庫。
返回值
如果函數成功,返回值是一個指定的服務控制管理器數據庫的句柄。
如果函數失敗,返回值為NULL 。
要獲得更詳細的錯誤信息,可以使用GetLastError 獲得錯誤代碼

OpenSCManager錯誤代碼

ERROR_ACCESS_DENIED 訪問被拒絕.
ERROR_DATABASE_DOES_NOT_EXIST 指定的數據庫不存在。
ERROR_INVALID_PARAMETER 參數無效。