Win32_SystemDriver クラスの Change メソッド
ChangeWMI クラス メソッドは、Win32_SystemDriver サービスを変更します。 Win32_LoadOrderGroup パラメーターは、実行依存関係を定義するシステム サービスのグループを表します。 サービスは相互に依存するため、Load Order Group で指定された順序でサービスを開始する必要があります。 これらの依存サービスが正しく機能するには、継続元サービスが存在する必要があります。
このトピックでは、マネージド オブジェクト形式 (MOF) 構文を使用します。 このメソッドの使用方法の詳細については、「メソッドの 呼び出し」を参照してください。
構文
uint32 Change(
[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[]
);
パラメーター
-
DisplayName [in]
-
サービスの表示名。 この文字列の長さは最大 256 文字です。 名前は、サービス コントロール マネージャーで大文字と小文字が保持されます。 DisplayName の比較では、常に大文字と小文字が区別されません。
制約: Name パラメーターと同じ値を受け入れます。
例: "Atdisk"
-
PathName [in]
-
サービスを実装する実行可能ファイルへの完全修飾パス。
例: \SystemRoot\System32\drivers\afd.sys
-
ServiceType [in]
-
それらを呼び出すプロセスに提供されるサービスの種類。
-
1 (0x1)
-
カーネル ドライバー
-
2 (0x2)
-
ファイル システム ドライバー
-
4 (0x4)
-
アダプター
-
8 (0x8)
-
Recognizer ドライバー
-
16 (0x10)
-
独自のプロセス
-
32 (0x20)
-
共有プロセス
-
256 (0x100)
-
対話型プロセス
ErrorControl [in]
起動時にこのサービスの開始に失敗した場合のエラーの重大度。 値は、エラーが発生した場合にスタートアップ プログラムによって実行されるアクションを示します。 すべてのエラーはシステムによってログに記録されます。
無視 (0)
ユーザーへの通知が行われません。
標準 (1)
標準。 ユーザーへの通知が行われます。
重大 (2)
システムは、最後の適切な構成で再起動されます。
クリティカル (3)
正しい構成でシステムの再起動が試行されます。
StartMode [in]
Windows 基本サービスの開始モード。
起動開始
オペレーティング システム ローダーによって起動されたデバイス ドライバー。
起動開始
オペレーティング システム ローダーが起動するデバイス ドライバー。
システムの開始
オペレーティング システムの初期化プロセスによって開始されたデバイス ドライバー。 この値は、ドライバー サービスに対してのみ指定できます。
自動開始
システムの起動時にサービス コントロール マネージャーによって自動的に開始されるサービス。
需要の開始
プロセスが StartService メソッドを呼び出したときに、サービス コントロール マネージャーによって開始されるサービス。
無効
開始できないサービス。
DesktopInteract [in]
True の場合、サービスはデスクトップ上のウィンドウを作成または通信できる値です。
StartName [in]
サービスが実行されるアカウント名。 サービスの種類によっては、アカウント名が DomainName\Username または .\Username の形式になる場合があります。 この 2 つの形式のいずれかを使用して、サービス プロセスが実行されるとログに記録されます。 アカウントが組み込みドメインに属している場合は、.\Username を指定できます。 空の文字列が指定されている場合、サービスは LocalSystem アカウントとしてログオンします。 カーネル レベルまたはシステム レベルのドライバーの場合、 StartName にはドライバー オブジェクト名 (たとえば、\FileSystem\Rdr や \Driver\Xns) が含まれます。この名前は、入出力 (I/O) システムがデバイス ドライバーの読み込みに使用します。 NULL を指定した場合、ドライバーは、サービス名 (DWDOM\管理 など) に基づいて I/O システムによって作成される既定のオブジェクト名で実行されます。
また、ユーザー プリンシパル名 (UPN) 形式を使用して StartName を指定することもできます ( たとえば、Username@DomainName)。
StartPassword [in]
StartName パラメーターで指定されたアカウント名のパスワード。 パスワードを変更しない場合は 、NULL を 指定します。 サービスがパスワードを持っていない場合は、空の文字列を指定します。
注意
サービスをローカル システムからネットワークに変更する場合、またはネットワークからローカル システムに変更する場合、 StartPassword は NULL ではなく空の文字列 ("") である必要があります。
LoadOrderGroup [in]
関連付けられているグループ名。 読み込み順序グループはシステム レジストリに含まれており、サービスがオペレーティング システムに読み込まれる順序を決定します。 ポインターが NULL の場合、または空の文字列を指している場合、サービスはグループに属していません。 グループ間の依存関係は 、LoadOrderGroupDependencies パラメーターに一覧表示する必要があります。 読み込み順序付けグループ リスト内のサービスが最初に開始され、次に、読み込み順序グループの一覧にないグループ内のサービスが続き、その後にグループに属していないサービスが続きます。 システム レジストリには、次の場所にある負荷順序付けグループの一覧があります。
Hkey_local_machine\システム\CurrentControlSet\コントロール\ServiceGroupOrder
LoadOrderGroupDependencies [in]
このサービスを開始する前に開始する必要がある読み込み順序付けグループの一覧。 配列は null で終わる 2 倍です。 ポインターが NULL の場合、または空の文字列を指している場合、サービスには依存関係はありません。 サービスとサービス グループは同じ名前空間を共有するため、サービス名と区別するには、グループ名の前に SC_GROUP_IDENTIFIER (WinSvc.h ファイルで定義) 文字を付ける必要があります。 グループへの依存関係は、グループのすべてのメンバーを開始しようとした後に、グループの少なくとも 1 つのメンバーが実行されている場合に、このサービスを実行できることを意味します。
ServiceDependencies [in]
このサービスを開始する前に開始する必要があるサービスの名前を含むリスト。 配列は null で終わる 2 倍です。 ポインターが NULL の場合、または空の文字列を指している場合、サービスには依存関係はありません。 サービスへの依存関係は、依存するサービスが実行されている場合にのみ、このサービスを実行できることを意味します。
戻り値
サービスが正常に変更された場合は 0、要求がサポートされていない場合は 1、エラーを示すその他の数値を返します。
-
成功 (0)
-
サポートされていません (1)
-
アクセスが拒否されました (2)
-
実行されている依存サービス (3)
-
無効なサービス制御 (4)
-
サービスが制御を受け入れることができない (5)
-
サービスがアクティブでない (6)
-
サービス要求のタイムアウト (7)
-
不明なエラー (8)
-
パスが見つかりません (9)
-
サービスは既に実行されています (10)
-
Service Database Locked (11)
-
サービス依存関係の削除 (12)
-
サービス依存関係エラー (13)
-
サービスが無効 (14)
-
サービス ログオンに失敗しました (15)
-
削除対象としてマークされたサービス (16)
-
サービススレッドなし (17)
-
状態循環依存関係 (18)
-
状態重複名 (19)
-
状態が無効な名前 (20)
-
Status Invalid Parameter (21)
-
状態が無効なサービス アカウント (22)
-
Status Service Exists (23)
-
サービスは既に一時停止 ( 24)
-
その他 (25 4294967295)
解説
サービスをネットワーク サービスからローカル システムに変更するには、 StartName パラメーターと StartPassword パラメーターに次の値を使用します。
StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL
サービスをローカル システム サービスからネットワーク サービスに変更するには、 StartName パラメーターと StartPassword パラメーターに次の値を使用します。
StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
Header |
|
MOF |
|
[DLL] |
|