ServiceController.GetDevices Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Извлекает службы драйверов устройств на компьютере.
Перегрузки
| Имя | Описание |
|---|---|
| GetDevices() |
Извлекает службы драйверов устройств на локальном компьютере. |
| GetDevices(String) |
Извлекает службы драйверов устройств на указанном компьютере. |
GetDevices()
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
Извлекает службы драйверов устройств на локальном компьютере.
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 , в котором каждый элемент связан со службой драйверов устройств на локальном компьютере.
Исключения
Ошибка при доступе к системным API.
Примеры
В следующем примере класс используется ServiceController для отображения служб драйверов устройств на локальном компьютере.
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 возвращает только службы драйверов устройств с локального компьютера. Чтобы получить службы или службы драйверов, отличные от устройств, которые не являются драйверами, вызовите GetServices метод. Вместе два метода обеспечивают доступ ко всем службам на компьютере.
См. также раздел
Применяется к
GetDevices(String)
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
Извлекает службы драйверов устройств на указанном компьютере.
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
Компьютер, с которого извлекаются службы драйверов устройств.
Возвращаемое значение
Массив типа ServiceController , в котором каждый элемент связан со службой драйверов устройств на указанном компьютере.
Исключения
Ошибка при доступе к системным API.
Параметр имеет недопустимый machineName синтаксис.
Комментарии
GetDevices возвращает только службы драйверов устройств с указанного компьютера. Чтобы получить службы или службы драйверов, отличные от устройств, которые не являются драйверами, вызовите GetServices метод. Вместе два метода обеспечивают доступ ко всем службам на компьютере.