ServiceType Sabit listesi

Tanım

Hizmetin türünü temsil eder.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

public enum class ServiceType
[System.Flags]
public enum ServiceType
[<System.Flags>]
type ServiceType = 
Public Enum ServiceType
Devralma
ServiceType
Öznitelikler

Alanlar

Name Değer Description
KernelDriver 1

Sabit disk veya diğer alt düzey donanım cihaz sürücüsü gibi bir Çekirdek cihaz sürücüsü.

FileSystemDriver 2

Aynı zamanda çekirdek cihaz sürücüsü olan bir dosya sistemi sürücüsü.

Adapter 4

Kendi sürücüsünü gerektiren bir donanım cihazı için hizmet.

RecognizerDriver 8

Başlatma sırasında sistemde bulunan dosya sistemlerini belirlemek için kullanılan bir dosya sistemi sürücüsü.

Win32OwnProcess 16

Hizmet Denetleyicisi tarafından başlatılabilir ve hizmet denetimi protokolüne uyan bir Win32 programı. Bu tür Win32 hizmeti tek başına bir işlemde çalışır.

Win32ShareProcess 32

Bir işlemi diğer Win32 hizmetleriyle paylaşabilen bir Win32 hizmeti.

InteractiveProcess 256

Masaüstü ile iletişim kurabilen bir hizmet.

Örnekler

Aşağıdaki örnek, yerel bilgisayarda cihaz sürücüsü hizmetlerini görüntülemek için sınıfını kullanır 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)

Açıklamalar

Hizmet türü, hizmetin sistem tarafından nasıl kullanıldığını gösterir. ServiceController komutları hizmete geçiren, hizmet türü için bir değer depolar.

ServiceType örneğinin değeri, bit düzeyinde OR işleci kullanılarak birleştirilmiş bir bayrak kümesini temsil eder.

Etkileşimli hizmetlerin oluşturulması desteklenmez. Geçici çözüm olarak, etkileşimli olmayan bir hizmet ve yuva veya uzaktan iletişim kullanarak hizmetle iletişim kuran ayrı bir denetim GUI uygulaması oluşturabilirsiniz.

Şunlara uygulanır

Ayrıca bkz.