Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

ServiceController.ServiceType Property

Gets the type of service that this object references.

[Visual Basic]
Public ReadOnly Property ServiceType As ServiceType
[C#]
public ServiceType ServiceType {get;}
[C++]
public: __property ServiceType get_ServiceType();
[JScript]
public function get ServiceType() : ServiceType;

Property Value

One of the ServiceType values, used to indicate the network service type.

Exceptions

Exception Type Condition
Win32Exception An error occurred when accessing a system API.

Remarks

The service type indicates how the service is used by the system. The value of the ServiceType property represents a set of flags combined using the bitwise OR operator.

Example

[Visual Basic, C#, C++] The following example uses the ServiceController class to display the device driver services on the local computer.

[Visual Basic] 

         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)


[C#] 
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);


[C++] 
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 (int i=0; i < scDevices->Length; i++)
   {
      ServiceController *scTemp = scDevices[i];
      // Display the status and the service name, for example,
      //   [Running] PCI Bus Driver
      //             Type = KernelDriver

      if (scTemp)
      {
         Console::WriteLine(" [{0}] {1}", 
                           __box(scTemp->Status), scTemp->DisplayName);
         Console::WriteLine("           Type = {0}", __box(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.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());

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

ServiceController Class | ServiceController Members | System.ServiceProcess Namespace | ServiceType

Show:
© 2015 Microsoft