Win32_BaseService クラスの Create メソッド

CreateWMI クラス メソッドは、新しいサービスを作成します。 LoadOrderGroup パラメーターは、実行依存関係を定義するシステム サービスのグループを表します。 サービスは相互に依存するため、ロード注文グループで指定された順序でサービスを開始する必要があります。 これらの依存サービスが正しく機能するには、継続元サービスが存在する必要があります。

このトピックでは、マネージド オブジェクト形式 (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[]
);

パラメーター

Name [in]

Create メソッドにインストールするサービスの名前。 文字列の最大長は 256 文字です。 サービス 制御マネージャー データベースでは文字の大文字と小文字が保持されますが、サービス名の比較では常に大文字と小文字が区別されません。 スラッシュ (/) と 2 つのバックスラッシュ (\) は無効なサービス名文字です。

DisplayName [in]

サービスの表示名。 この文字列の長さは最大 256 文字です。 名前は、サービス コントロール マネージャーで大文字と小文字が保持されます。 DisplayName の比較では、常に大文字と小文字が区別されません。

制約: Name パラメーターと同じ値を受け入れます。

例: "Atdisk"

PathName [in]

サービスを実装する実行可能ファイルへの完全修飾パス。

例: "\SystemRoot\System32\drivers\afd.sys"

ServiceType [in]

それらを呼び出すプロセスに提供されるサービスの種類。 値はビットマップです。

カーネル ドライバー (1)

ファイル システム ドライバー (2)

アダプター (4)

Recognizer ドライバー (8)

独自のプロセス (16)

共有プロセス (32)

256

対話型プロセス

ErrorControl [in]

Create メソッドの起動に失敗した場合のエラーの重大度。 値は、エラーが発生した場合にスタートアップ プログラムによって実行されるアクションを示します。 すべてのエラーはシステムによってログに記録されます。

無視 (0)

ユーザーへの通知が行われません。

標準 (1)

ユーザーへの通知が行われます。

重大 (2)

システムは最後の正しい構成で再起動されます。

クリティカル (3)

システムは、適切な構成から開始しようとします。

StartMode [in]

Windows 基本サービスの開始モード。

ブート開始 ("Boot")

オペレーティング システム ローダーによって起動されたデバイス ドライバー。 この値は、ドライバー サービスに対してのみ指定できます。

システムの開始 ("System")

オペレーティング システムの初期化プロセスによって開始されたデバイス ドライバー。 この値は、ドライバー サービスに対してのみ指定できます。

自動開始 ("自動")

システムの起動時にサービス コントロール マネージャーによって自動的に開始されるサービスです。

需要の開始 ("手動")

プロセスが StartService メソッドを呼び出したときに、サービス コントロール マネージャーによって開始されるサービス。

Disabled ("Disabled")

開始できなくなったサービス。

DesktopInteract [in]

true の場合、サービスはデスクトップ上のウィンドウを作成または通信できます。

StartName [in]

サービスを実行するアカウント名。 サービスの種類によっては、アカウント名が "DomainName\Username" の形式になる場合があります。 サービス プロセスは、実行時にこれら 2 つの形式のいずれかを使用してログに記録されます。 アカウントが組み込みドメインに属している場合は、".\Username" を指定できます。 NULL を指定した場合、サービスは LocalSystem アカウントとしてログオンします。 カーネルまたはシステム レベルのドライバーの場合、 StartName には、入出力 (I/O) システムがデバイス ドライバーの読み込みに使用するドライバー オブジェクト名 (\FileSystem\Rdr または \Driver\Xns) が含まれます。 NULL を指定した場合、ドライバーは、サービス名に基づいて I/O システムによって作成された既定のオブジェクト名で実行されます。 例: DWDOM\管理。

StartPassword [in]

StartName パラメーターで指定されたアカウント名のパスワード。 パスワードを変更しない場合は 、NULL を 指定します。 サービスがパスワードを持っていない場合は、空の文字列を指定します。

LoadOrderGroup [in]

新しいサービスに関連付けられているグループ名。 読み込み順序グループはレジストリに含まれており、サービスがオペレーティング システムに読み込まれる順序を決定します。 ポインターが NULL の場合、または空の文字列を指している場合、サービスはグループに属していません。 グループ間の依存関係は 、LoadOrderGroupDependencies パラメーターに一覧表示する必要があります。 読み込み順序付けグループ リスト内のサービスが最初に開始され、次に、読み込み順序グループの一覧にないグループ内のサービスが続き、その後にグループに属していないサービスが続きます。 レジストリには、次の場所にある読み込み順序付けグループの一覧があります。

Hkey_local_machine\システム\CurrentControlSet\コントロール\ServiceGroupOrder

LoadOrderGroupDependencies [in]

このサービスの前に開始する必要がある読み込み順序付けグループの配列。 配列内の各項目は NULL で区切られ、リストは 2 つの NULL 値で終了します。 Visual Basic またはスクリプトでは、vbArray を渡すことができます。 ポインターが NULL の場合、または空の文字列を指している場合、サービスには依存関係がありません。 サービスとサービス グループは同じ名前空間を共有するため、サービス名と区別するには、グループ名の前に SC_GROUP_IDENTIFIER (Winsvc.h ファイルで定義) 文字を付ける必要があります。 グループへの依存関係があるサービスとは、グループのすべてのメンバーを起動しようとした際、そのグループの少なくとも 1 つのメンバーが実行されないと、このサービスを実行できないことを意味します。

ServiceDependencies [in]

このサービスを開始する前に開始する必要があるサービスの名前を含む 配列。 配列内の各項目は NULL で区切られ、リストは 2 つの NULL 値で終了します。 Visual Basic またはスクリプトでは、vbArray を渡すことができます。 ポインターが NULL の場合、または空の文字列を指している場合、サービスには依存関係はありません。 サービスへの依存関係は、依存するサービスが実行されている場合にのみ、このサービスを実行できることを意味します。

戻り値

次の一覧に記載されている値の 1 つ、またはエラーを示すその他の値を返します。

Success

0

要求が受け入れられました。

サポートされていません

1

要求はサポートされていません。

アクセスが拒否されました

2

ユーザーは必要なアクセス権を持っていませんでした。

実行中の依存サービス

3

そのサービスは、実行中の他のサービスが依存しているので停止できません。

無効なサービス制御

4

要求された制御コードは有効でないか、またはサービスを受け入れ可能ではありません。

サービスが制御を受け入れることができない

5

サービスの状態 (Win32_BaseServiceのため、要求された制御コードをサービスに送信できません。State プロパティ) は、0、1、または 2 と等しくなります。

サービスがアクティブではない

6

サービスは開始されていません。

サービス要求のタイムアウト

7

サービスは適切な時間内に開始要求に応答しませんでした。

不明なエラー

8

対話型プロセス。

パスが見つかりません

9

サービス実行可能ファイルへのディレクトリ パスが見つかりませんでした。

サービスは既に実行されています

10

サービスは既に実行されています。

サービス データベースがロックされている

11

新しいサービスを追加するデータベースはロックされています。

サービス依存関係の削除

12

このサービスが依存する依存関係はシステムから削除されました。

サービス依存関係エラー

13

サービスは依存関係のあるサービスから必要なサービスを見つけられませんでした。

サービスが無効

14

サービスはシステムから無効になっています。

サービス ログオンに失敗しました

15

サービスにはシステムで実行するための正しい認証がありません。

削除対象としてマークされたサービス

16

このサービスはシステムから削除されています。

サービススレッドなし

17

サービスに実行スレッドがありません。

状態循環依存関係

18

サービスの開始時に循環依存があります。

状態の重複する名前

19

同じ名前で実行中のサービスがあります。

状態の名前が無効です

20

サービスの名前に無効な文字があります。

状態が無効なパラメーター

21

無効なパラメーターがサービスに渡されました。

状態が無効なサービス アカウント

22

このサービスを実行するアカウントが無効であるか、サービスを実行するためのアクセス許可がありません。

Status Service Exists

23

サービスは、システムから利用できるサービスのデータベースにあります。

サービスは既に一時停止しています

24

サービスは現在システムで一時停止されています。

その他

25 4294967295

要件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
名前空間
Root\CIMV2
MOF
CIMWin32.mof
[DLL]
CIMWin32.dll

こちらもご覧ください

オペレーティング システム クラス

Win32_BaseService