ServiceController.GetDevices Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Haalt de apparaatstuurprogrammaservices op een computer op.
Overloads
| Name | Description |
|---|---|
| GetDevices() |
Haalt de apparaatstuurprogrammaservices op de lokale computer op. |
| GetDevices(String) |
Haalt de apparaatstuurprogrammaservices op de opgegeven computer op. |
GetDevices()
Haalt de apparaatstuurprogrammaservices op de lokale computer op.
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()
Retouren
Een matrix van het type ServiceController waarin elk element is gekoppeld aan een apparaatstuurprogrammaservice op de lokale computer.
Uitzonderingen
Er is een fout opgetreden bij het openen van een systeem-API.
Voorbeelden
In het volgende voorbeeld wordt de ServiceController klasse gebruikt om de apparaatstuurprogrammaservices op de lokale computer weer te geven.
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)
Opmerkingen
GetDevices retourneert alleen de apparaatstuurprogrammaservices van de lokale computer. Als u de niet-apparaatstuurprogrammaservices of -services wilt ophalen die geen stuurprogramma's zijn, roept u de GetServices methode aan. De twee methoden bieden samen toegang tot alle services op een computer.
Zie ook
Van toepassing op
GetDevices(String)
Haalt de apparaatstuurprogrammaservices op de opgegeven computer op.
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()
Parameters
- machineName
- String
De computer waaruit de apparaatstuurprogrammaservices moeten worden opgehaald.
Retouren
Een matrix van het type ServiceController waarin elk element is gekoppeld aan een apparaatstuurprogrammaservice op de opgegeven computer.
Uitzonderingen
Er is een fout opgetreden bij het openen van een systeem-API.
De machineName parameter heeft een ongeldige syntaxis.
Opmerkingen
GetDevices retourneert alleen de apparaatstuurprogrammaservices van de opgegeven computer. Als u de niet-apparaatstuurprogrammaservices of -services wilt ophalen die geen stuurprogramma's zijn, roept u de GetServices methode aan. De twee methoden bieden samen toegang tot alle services op een computer.