ServiceType ServiceType ServiceType ServiceType Enum

Definición

Representa el tipo del servicio.Represents the type of the service.

Esta enumeración tiene el atributo FlagsAttribute, que permite una combinación bit a bit de sus valores de miembro.

public enum class ServiceType
[System.Flags]
public enum ServiceType
type ServiceType = 
Public Enum ServiceType
Herencia
Atributos

Campos

Adapter Adapter Adapter Adapter 4

Un servicio para un dispositivo de hardware que requiere su propio controlador.A service for a hardware device that requires its own driver.

FileSystemDriver FileSystemDriver FileSystemDriver FileSystemDriver 2

Un controlador del sistema de archivos, que es también un controlador de dispositivo del kernel.A file system driver, which is also a Kernel device driver.

InteractiveProcess InteractiveProcess InteractiveProcess InteractiveProcess 256

Un servicio que puede comunicarse con el escritorio.A service that can communicate with the desktop.

KernelDriver KernelDriver KernelDriver KernelDriver 1

Un controlador de dispositivo del kernel, como un disco duro u otro controlador de dispositivo de hardware de nivel bajo.A Kernel device driver such as a hard disk or other low-level hardware device driver.

RecognizerDriver RecognizerDriver RecognizerDriver RecognizerDriver 8

Controlador del sistema de archivos que se usa durante el inicio para determinar los sistemas de archivos presentes en el sistema.A file system driver used during startup to determine the file systems present on the system.

Win32OwnProcess Win32OwnProcess Win32OwnProcess Win32OwnProcess 16

Un programa Win32 que puede iniciar el Controlador del servicio y que obedece al protocolo de control de servicios.A Win32 program that can be started by the Service Controller and that obeys the service control protocol. Este tipo de servicio Win32 se ejecuta en un proceso por sí mismo.This type of Win32 service runs in a process by itself.

Win32ShareProcess Win32ShareProcess Win32ShareProcess Win32ShareProcess 32

Un servicio Win32 que puede compartir un proceso con otros servicios Win32.A Win32 service that can share a process with other Win32 services.

Ejemplos

En el ejemplo siguiente se ServiceController usa la clase para mostrar los servicios de controlador de dispositivos en el equipo local.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)

Comentarios

El tipo de servicio indica cómo el sistema utiliza el servicio.The service type indicates how the service is used by the system. El ServiceController que pasa comandos al servicio almacena un valor para el tipo de servicio.The ServiceController that passes commands to the service stores a value for the service type.

El valor de una instancia de ServiceType representa un conjunto de marcas combinadas mediante el operador bit a bit or.The value of a ServiceType instance represents a set of flags combined using the bitwise OR operator.

No se admite la creación de servicios interactivos.The creation of interactive services is not supported. Para solucionar este problema, puede crear un servicio no interactivo y una aplicación de interfaz gráfica de usuario de control independiente que se comunique con el servicio mediante sockets o la comunicación remota.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.

Se aplica a

Consulte también: