OpenSCManager

OpenSCManager

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 獲得錯誤代碼。

錯誤代碼

ERROR_ACCESS_DENIED 訪問被拒絕.

ERROR_DATABASE_DOES_NOT_EXIST 指定的資料庫不存在。

ERROR_INVALID_PARAMETER 參數無效。

相關詞條

相關搜尋

熱門詞條

聯絡我們