共用方式為


Win32_BaseService 類別的 Create 方法

CreateWMI 類別方法會建立新的服務。 LoadOrderGroup參數代表定義執行相依性的系統服務群組。 服務必須依照「載入順序群組」所指定的順序起始,因為服務彼此相依。 這些相依服務需要有前項服務才能正常運作。

本主題使用 Managed 物件格式 (MOF) 語法。 如需使用此方法的詳細資訊,請參閱 呼叫方法

語法

uint32 Create(
  [in] string  Name,
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

參數

名稱 [in]

要安裝至 Create 方法的服務名稱。 字串長度上限為 256 個字元。 服務控制管理員資料庫會保留字元的大小寫,但服務名稱比較一律不區分大小寫。 正斜線 (/) 和雙斜線 (\) 是不正確服務名稱字元。

DisplayName [in]

服務的顯示名稱。 這個字串的最大長度為 256 個字元。 名稱會在服務控制管理員中保留大小寫。 DisplayName 比較一律不區分大小寫。

條件約束:接受與 Name 參數相同的值。

範例:「Atdisk」。

PathName [in]

實作服務之可執行檔的完整路徑。

範例:「\SystemRoot\System32\drivers\afd.sys」。

ServiceType [in]

提供給呼叫這些服務之進程的服務類型。 值為點陣圖。

核心驅動程式 (1)

檔案系統驅動程式 (2)

配接 器 (4)

辨識器驅動程式 (8)

自有進程 (16)

共用進程 (32)

256

互動式程式

ErrorControl [in]

如果 Create 方法無法啟動,則錯誤嚴重性。 如果發生失敗,此值表示啟動程式所採取的動作。 系統會記錄所有錯誤。

忽略 (0)

不通知使用者。

標準 (1)

通知使用者。

嚴重 (2)

使用上次的正確組態重新啟動系統。

重大 (3)

系統嘗試以良好的組態啟動。

StartMode [in]

Windows 基底服務的啟動模式。

開機啟動 (「開機」)

作業系統載入器啟動的裝置驅動程式。 這個值只適用於驅動程式服務。

系統啟動 (「System」)

作業系統初始化程式啟動的裝置驅動程式。 這個值只適用於驅動程式服務。

自動啟動 (「自動」)

要由服務控制管理員在系統啟動期間自動啟動的服務。

需求開始 (「手動」)

當進程呼叫 StartService 方法時,服務控制管理員要啟動的服務。

Disabled (「Disabled」)

無法再啟動的服務。

DesktopInteract [in]

如果 為 true,服務可以建立或與桌面上的視窗通訊。

StartName [in]

服務執行所在的帳戶名稱。 根據服務類型而定,帳戶名稱的格式可能是 「DomainName\Username」。 服務進程會在執行時,使用這兩種形式之一來記錄。 如果帳戶屬於內建網域,則可以指定 「.\Username」。 如果指定 Null ,服務會以 LocalSystem 帳戶登入。 對於核心或系統層級驅動程式, StartName 包含驅動程式物件名稱 (,也就是 \FileSystem\Rdr 或 \Driver\Xns) 輸入與輸出 (I/O) 系統用來載入設備磁碟機。 如果指定 Null ,驅動程式會以以服務名稱為基礎的 I/O 系統所建立的預設物件名稱執行。 範例:DWDOM\管理員。

StartPassword [in]

StartName參數所指定帳戶名稱的密碼。 如果您未變更密碼,請指定 Null 。 如果此服務沒有密碼,請指定空字串。

LoadOrderGroup [in]

與新服務相關聯的組名。 載入順序群組包含在登錄中,並決定將服務載入作業系統的順序。 如果指標為 Null ,或指向空字串,則服務不屬於群組。 群組之間的相依性應該列在 LoadOrderGroupDependencies 參數中。 首先會啟動載入排序群組清單中的服務,後面接著不在載入排序群組清單中的服務,後面接著不屬於群組的服務。 登錄具有位於下列位置的載入排序群組清單:

\ HKEY_LOCAL_MACHINE系統\CurrentControlSet\控制\ServiceGroupOrder

LoadOrderGroupDependencies [in]

必須在此服務之前啟動的載入排序群組陣列。 陣列中的每個專案都會以 Null 分隔,且清單會以兩個 Null 值終止。 在 Visual Basic 或腳本中,您可以傳遞 vbArray。 如果指標為 Null ,或指向空字串,則服務沒有相依性。 組名前面必須加上 Winsvc.h 檔案中定義的SC_GROUP_IDENTIFIER () 字元,才能區分它與服務名稱,因為服務和服務群組會共用相同的命名空間。 對群組的相依性表示,如果嘗試啟動群組的所有成員之後,至少有一個群組成員正在執行,則此服務可以執行。

ServiceDependencies [in]

陣列,包含此服務啟動之前必須啟動的服務名稱。 陣列中的每個專案都會以 Null 分隔,且清單會以兩個 Null 值終止。 在 Visual Basic 或腳本中,您可以傳遞 vbArray。 如果指標為 Null,或指向空字串,則服務沒有相依性。 相依于服務表示只有在相依的服務正在執行時,才能執行此服務。

傳回值

傳回下列清單中所列的其中一個值或任何其他值,以指出錯誤。

「成功」

0

要求已被接受。

不支援

1

不支援此要求。

拒絕存取

2

使用者沒有必要的存取權。

執行中的相依服務

3

無法停止此服務,因為與它相依的其他服務正在執行中。

不正確服務控制

4

要求的控制碼無效,或是服務不接受此控制碼。

服務無法接受控制項

5

要求的控制程式代碼無法傳送至服務,因為服務的狀態 (Win32_BaseService狀態 屬性) 等於 0、1 或 2。

服務未作用中

6

尚未啟動服務。

服務要求逾時

7

服務並未及時回應啟動要求。

未知失敗

8

互動式程式。

找不到路徑

9

找不到服務可執行檔的目錄路徑。

服務已執行

10

服務已在執行中。

服務資料庫鎖定

11

要加入新服務的資料庫已被鎖定。

服務相依性已刪除

12

已經從系統中移除這個服務所依賴的相依性。

服務相依性失敗

13

服務在相依的服務中找不到所需的服務。

服務已停用

14

已經從系統中停用服務。

服務登入失敗

15

此服務未通過驗證,無法在系統上執行。

標示要刪除的服務

16

此服務正從系統中移除。

服務無線程

17

服務沒有執行緒。

狀態迴圈相依性

18

啟動服務時有循環的相依性。

狀態重複名稱

19

有一個服務在相同名稱下執行。

狀態不正確名稱

20

服務名稱中有不正確字元。

狀態不正確參數

21

不正確參數已傳遞至服務。

狀態不正確服務帳戶

22

此服務執行所在的帳戶無效,或缺少執行服務的許可權。

狀態服務存在

23

服務存在於系統可使用之服務的資料庫中。

服務已暫停

24

服務目前在系統中暫停。

其他

25 4294967295

規格需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
命名空間
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另請參閱

作業系統類別

Win32_BaseService