Win32_SystemDriver クラスの Create メソッド
CREATEWMI クラス メソッドは、システム ドライバーによって管理される新しいサービスを作成します。 Win32_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 文字です。 Service Control Manager データベースでは文字の大文字と小文字が保持されますが、サービス名の比較では常に大文字と小文字が区別されません。 スラッシュ (/) と 2 つのバックスラッシュ (\) は無効なサービス名文字です。
-
DisplayName [in]
-
サービスの表示名。 この文字列の長さは最大 256 文字です。 名前は Service Control Manager で大文字と小文字が区別されます。 DisplayName の比較では、常に大文字と小文字が区別されません。
制約: Name パラメーターと同じ値を受け入れます。
例: "Atdisk"
-
PathName [in]
-
サービスを実装する実行可能ファイルへの完全修飾パス。
例: "\SystemRoot\System32\drivers\afd.sys"。
-
ServiceType [in]
-
それらを呼び出すプロセスに提供されるサービスの種類。
-
1 (0x1)
-
カーネル ドライバー
-
2 (0x2)
-
ファイル システム ドライバー
-
4 (0x4)
-
アダプター
-
8 (0x8)
-
認識エンジン ドライバー
-
16 (0x10)
-
独自のプロセス
-
32 (0x20)
-
プロセスの共有
-
256 (0x100)
-
対話型プロセス
ErrorControl [in]
Create メソッドの起動に失敗した場合のエラーの重大度。 この値は、障害が発生した場合にスタートアップ プログラムによって実行されるアクションを示します。 すべてのエラーはシステムによってログに記録されます。
0
"無視"
ユーザーへの通知が行われません。
1
"Normal"
ユーザーへの通知が行われます。
2
"Severe"
システムは最後の正しい構成で再起動されます。
3
"Critical"
システムは、適切な構成で開始しようとします。
StartMode [in]
Windows 基本サービスの開始モード。
ブート
オペレーティング システム ローダーによって起動されたデバイス ドライバー。 この値は、ドライバー サービスに対してのみ指定できます。
システム
オペレーティング システムの初期化プロセスによって開始されたデバイス ドライバー。 この値は、ドライバー サービスに対してのみ指定できます。
自動
システムの起動時に Service Control Manager によって自動的に開始されるサービス。
手動
プロセスが StartService メソッドを呼び出すときにサービス コントロール マネージャーによって開始されるサービス。
無効
開始できなくなったサービス。
DesktopInteract [in]
true の場合、サービスはデスクトップ上のウィンドウを作成または通信できます。
StartName [in]
サービスを実行するアカウント名。 サービスの種類によっては、アカウント名が DomainName\Username またはユーザー プリンシパル名 (UPN) 形式 (Username@DomainName) の形式である場合があります。 サービス プロセスは、実行時にこれら 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 の場合、または空の文字列を指している場合、サービスには依存関係はありません。 サービスへの依存関係は、依存するサービスが実行されている場合にのみ、このサービスを実行できることを意味します。
戻り値
サービスが正常に作成された場合は 0 (ゼロ)、要求がサポートされていない場合は 1、エラーを示すその他の数値を返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
MOF |
|
[DLL] |
|