ServiceType Wyliczenie

Definicja

Reprezentuje typ usługi.Represents the type of the service.

To wyliczenie ma atrybut FlagsAttribute zezwalający na bitową kombinację jego wartości składowych.

public enum class ServiceType
[System.Flags]
public enum ServiceType
[<System.Flags>]
type ServiceType = 
Public Enum ServiceType
Dziedziczenie
ServiceType
Atrybuty

Pola

Adapter 4

Usługa dla urządzenia sprzętowego, które wymaga własnego sterownika.A service for a hardware device that requires its own driver.

FileSystemDriver 2

Sterownik systemu plików, który jest również sterownikiem urządzenia jądra.A file system driver, which is also a Kernel device driver.

InteractiveProcess 256

Usługa, która może komunikować się z pulpitem.A service that can communicate with the desktop.

KernelDriver 1

Sterownik urządzenia jądra, taki jak dysk twardy lub inny sterownik urządzenia niskiego poziomu.A Kernel device driver such as a hard disk or other low-level hardware device driver.

RecognizerDriver 8

Sterownik systemu plików używany podczas uruchamiania, aby ustalić systemy plików obecne w systemie.A file system driver used during startup to determine the file systems present on the system.

Win32OwnProcess 16

Program Win32, który może zostać uruchomiony przez kontroler usługi i który przestrzega protokołu kontroli usług.A Win32 program that can be started by the Service Controller and that obeys the service control protocol. Ten typ usługi Win32 jest uruchamiany w procesie.This type of Win32 service runs in a process by itself.

Win32ShareProcess 32

Usługa Win32, która może współużytkować proces z innymi usługami Win32.A Win32 service that can share a process with other Win32 services.

Przykłady

Poniższy przykład używa ServiceController klasy do wyświetlania usług sterowników urządzeń na komputerze lokalnym.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)

Uwagi

Typ usługi wskazuje, w jaki sposób usługa jest używana przez system.The service type indicates how the service is used by the system. ServiceControllerPolecenie przekazuje polecenia do usługi przechowuje wartość dla typu usługi.The ServiceController that passes commands to the service stores a value for the service type.

Wartość wystąpienia ServiceType reprezentuje zestaw flag połączonych przy użyciu operatora bitowego or.The value of a ServiceType instance represents a set of flags combined using the bitwise OR operator.

Tworzenie usług interaktywnych nie jest obsługiwane.The creation of interactive services is not supported. Aby to obejść, można utworzyć usługę nieinteraktywną i oddzielną aplikację z graficznym interfejsem użytkownika, która komunikuje się z usługą przy użyciu gniazd lub usług zdalnych.To workaround this, you can create a non-interactive service and a separate control GUI application that communicates with the service using sockets or remoting.

Dotyczy

Zobacz też