ServiceController.GetDevices メソッド

定義

コンピューターのデバイス ドライバー サービスを取得します。Retrieves the device driver services on a computer.

オーバーロード

GetDevices()

ローカル コンピューターのデバイス ドライバー サービスを取得します。Retrieves the device driver services on the local computer.

GetDevices(String)

指定したコンピューターのデバイス ドライバー サービスを取得します。Retrieves the device driver services on the specified computer.

GetDevices()

ローカル コンピューターのデバイス ドライバー サービスを取得します。Retrieves the device driver services on the local computer.

public:
 static cli::array <System::ServiceProcess::ServiceController ^> ^ GetDevices();
public static System.ServiceProcess.ServiceController[] GetDevices ();
static member GetDevices : unit -> System.ServiceProcess.ServiceController[]
Public Shared Function GetDevices () As ServiceController()

戻り値

ServiceController[]

ServiceController 型の配列。この配列の各要素は、ローカル コンピューターのデバイス ドライバー サービスに関連付けられています。An array of type ServiceController in which each element is associated with a device driver service on the local computer.

例外

システム API にアクセス中にエラーが発生しました。An error occurred when accessing a system API.

次の例では、クラスを使用して、 ServiceController ローカルコンピューターのデバイスドライバーサービスを表示します。The following example uses the ServiceController class to display the device driver services on the local computer.

array<ServiceController^>^scDevices = ServiceController::GetDevices();
if ( scDevices->Length )
{
   int numAdapter = 0,numFileSystem = 0,numKernel = 0,numRecognizer = 0;

   // Display the list of device driver services.
   Console::WriteLine(  "Device driver services on the local computer:" );

   for each (ServiceController^ scTemp in scDevices)
   {
      // Display the status and the service name, for example,
      //   [Running] PCI Bus Driver
      //             Type = KernelDriver
      Console::WriteLine(  " [{0}] {1}", scTemp->Status, scTemp->DisplayName );
      Console::WriteLine(  "           Type = {0}", scTemp->ServiceType );

      // Update counters using the service type bit flags.
      if ( (scTemp->ServiceType & ServiceType::Adapter) != (ServiceType)0 )
      {
         numAdapter++;
      }
      if ( (scTemp->ServiceType & ServiceType::FileSystemDriver) != (ServiceType)0 )
      {
         numFileSystem++;
      }
      if ( (scTemp->ServiceType & ServiceType::KernelDriver) != (ServiceType)0 )
      {
         numKernel++;
      }
      if ( (scTemp->ServiceType & ServiceType::RecognizerDriver) != (ServiceType)0 )
      {
         numRecognizer++;
      }
   }
   Console::WriteLine();
   Console::WriteLine(  "Total of {0} device driver services", scDevices->Length.ToString() );
   Console::WriteLine(  "  {0} are adapter drivers", numAdapter.ToString() );
   Console::WriteLine(  "  {0} are file system drivers", numFileSystem.ToString() );
   Console::WriteLine(  "  {0} are kernel drivers", numKernel.ToString() );
   Console::WriteLine(  "  {0} are file system recognizer drivers", numRecognizer.ToString() );
ServiceController[] scDevices;
scDevices = ServiceController.GetDevices();

int numAdapter = 0,
    numFileSystem = 0,
    numKernel = 0,
    numRecognizer = 0;

// Display the list of device driver services.
Console.WriteLine("Device driver services on the local computer:");

foreach (ServiceController scTemp in scDevices)
{
   // Display the status and the service name, for example,
   //   [Running] PCI Bus Driver
   //             Type = KernelDriver

   Console.WriteLine(" [{0}] {1}",
                     scTemp.Status, scTemp.DisplayName);
   Console.WriteLine("           Type = {0}", scTemp.ServiceType);

   // Update counters using the service type bit flags.
   if ((scTemp.ServiceType & ServiceType.Adapter) != 0)
   {
      numAdapter++;
   }
   if ((scTemp.ServiceType & ServiceType.FileSystemDriver) != 0)
   {
      numFileSystem++;
   }
   if ((scTemp.ServiceType & ServiceType.KernelDriver) != 0)
   {
      numKernel++;
   }
   if ((scTemp.ServiceType & ServiceType.RecognizerDriver) != 0)
   {
      numRecognizer++;
   }
}

Console.WriteLine();
Console.WriteLine("Total of {0} device driver services", scDevices.Length);
Console.WriteLine("  {0} are adapter drivers", numAdapter);
Console.WriteLine("  {0} are file system drivers", numFileSystem);
Console.WriteLine("  {0} are kernel drivers", numKernel);
Console.WriteLine("  {0} are file system recognizer drivers", numRecognizer);


Dim scDevices() As ServiceController
scDevices = ServiceController.GetDevices()

Dim numAdapter As Integer
Dim numFileSystem As Integer
Dim numKernel As Integer
Dim numRecognizer As Integer

' Display the list of device driver services.
Console.WriteLine("Device driver services on the local computer:")

Dim scTemp As ServiceController
For Each scTemp In  scDevices
   ' Display the status and the service name, for example,
   '   [Running] PCI Bus Driver
   '             Type = KernelDriver

   Console.WriteLine(" [{0}] {1}", scTemp.Status, scTemp.DisplayName)
   Console.WriteLine("           Type = {0}", scTemp.ServiceType)

   ' Update counters using the service type bit flags.
   If (scTemp.ServiceType And ServiceType.Adapter) <> 0 Then
      numAdapter = numAdapter + 1
   End If
   If (scTemp.ServiceType And ServiceType.FileSystemDriver) <> 0 Then
      numFileSystem = numFileSystem + 1
   End If
   If (scTemp.ServiceType And ServiceType.KernelDriver) <> 0 Then
      numKernel = numKernel + 1
   End If
   If (scTemp.ServiceType And ServiceType.RecognizerDriver) <> 0 Then
      numRecognizer = numRecognizer + 1
   End If

Next scTemp

Console.WriteLine()
Console.WriteLine("Total of {0} device driver services", scDevices.Length)
Console.WriteLine("  {0} are adapter drivers", numAdapter)
Console.WriteLine("  {0} are file system drivers", numFileSystem)
Console.WriteLine("  {0} are kernel drivers", numKernel)
Console.WriteLine("  {0} are file system recognizer drivers", numRecognizer)

注釈

GetDevices ローカルコンピューターからのデバイスドライバーサービスのみを返します。GetDevices returns only the device driver services from the local computer. デバイスドライバー以外のサービスまたはドライバー以外のサービスを取得するには、 GetServices メソッドを呼び出します。To retrieve the non-device driver services or services that are not drivers, call the GetServices method. これらの2つの方法により、コンピューター上のすべてのサービスにアクセスできます。Together, the two methods provide access to all the services on a computer.

こちらもご覧ください

GetDevices(String)

指定したコンピューターのデバイス ドライバー サービスを取得します。Retrieves the device driver services on the specified computer.

public:
 static cli::array <System::ServiceProcess::ServiceController ^> ^ GetDevices(System::String ^ machineName);
public static System.ServiceProcess.ServiceController[] GetDevices (string machineName);
static member GetDevices : string -> System.ServiceProcess.ServiceController[]
Public Shared Function GetDevices (machineName As String) As ServiceController()

パラメーター

machineName
String

デバイス ドライバー サービスの取得対象となるコンピューター。The computer from which to retrieve the device driver services.

戻り値

ServiceController[]

ServiceController 型の配列。この配列の各要素は、指定したコンピューターのデバイス ドライバー サービスに関連付けられています。An array of type ServiceController in which each element is associated with a device driver service on the specified computer.

例外

システム API にアクセス中にエラーが発生しました。An error occurred when accessing a system API.

machineName パラメーターの構文が無効です。The machineName parameter has invalid syntax.

注釈

GetDevices 指定されたコンピューターからのデバイスドライバーサービスのみを返します。GetDevices returns only the device driver services from the specified computer. デバイスドライバー以外のサービスまたはドライバー以外のサービスを取得するには、 GetServices メソッドを呼び出します。To retrieve the non-device driver services or services that are not drivers, call the GetServices method. これらの2つの方法により、コンピューター上のすべてのサービスにアクセスできます。Together, the two methods provide access to all the services on a computer.

こちらもご覧ください

適用対象