| Platform SDK: Active Directory, ADSI, and Directory Services |
The property methods of the IADsServiceOperations interface read and write the properties described in the following table. For a general discussion of property methods, see Interface Property Methods.
| Property | Description | |
|---|---|---|
| Status
[Visual Basic] [C++] |
Status of service. The values can be found in the following list: | |
| Status ADS_SERVICE_STOPPED ADS_SERVICE_START_PENDING ADS_SERVICE_STOP_PENDING ADS_SERVICE_RUNNING ADS_SERVICE_CONTINUE_PENDING ADS_SERVICE_PAUSE_PENDING ADS_SERVICE_PAUSED ADS_SERVICE_ERROR ADS_SERVICE_OWN_PROCESS ADS_SERVICE_SHARE_PROCESS ADS_SERVICE_KERNEL_DRIVER ADS_SERVICE_FILE_SYSTEM_DRIVER ADS_SERVICE_BOOT_START ADS_SERVICE_SYSTEM_START ADS_SERVICE_AUTO_START ADS_SERVICE_DEMAND_START ADS_SERVICE_DISABLED ADS_SERVICE_ERROR_IGNORE ADS_SERVICE_ERROR_NORMAL ADS_SERVICE_ERROR_SEVERE ADS_SERVICE_ERROR_CRITICAL |
Constant 0x00000001 0x00000002 0x00000003 0x00000004 0x00000005 0x00000006 0x00000007 0x00000008 0x00000010 0x00000020 0x00000001 0x00000002 SERVICE_BOOT_START SERVICE_SYSTEM_START SERVICE_AUTO_START SERVICE_DEMAND_START SERVICE_DISABLED 0 1 2 3 |
|
The following Visual Basic code snippet shows how to examine the status of the Microsoft® Fax Service running on a Windows® 2000 Professional.
Dim cp As IADsComputer
Dim sr As IADsService
Dim so As IADsServiceOperations
Set cp = GetObject("WinNT://myMachine,computer")
Set sr = cp.GetObject("Service", "Fax")
Set so = sr
Select Case so.Status
Case ADS_SERVICE_STOPPED
MsgBox "Microsoft Fax Service has stopped."
Case ADS_SERVICE_RUNNING
MsgBox "Microsoft Fax Service is running."
Case ADS_SERVICE_PAUSED
MsgBox "Microsoft Fax Service has paused."
Case ADS_SERVICE_ERROR
MsgBox "Microsoft Fax Service has errors."
End Select
The following C++ code snippet examines the status of the Microsoft Fax Service running on a Windows 2000 Professional.
IADsContainer *pCont;
IADsServiceOperations *pSrvOp;
LPWSTR adsPath = L"WinNT://myMachine,computer";
HRESULT hr = ADsGetObject(adsPath,
IID_IADsContainer,
(void**)&pCont);
if(FAILED(hr)) exit(hr);
IDispatch *pDisp;
hr = pCont->GetObject(L"Service",L"Fax",&pDisp);
pCont->Release();
if(FAILED(hr)) exit(hr);
hr = pDisp->QueryInterface(IID_IADsServiceOperations,(void**)&pSrvOp);
pDisp->Release();
if(FAILED(hr)) exit(hr);
long status;
hr = pSrvOp->get_Status(&status);
switch (status) {
case ADS_SERVICE_STOPPED:
printf("The service has stopped.\n");
break;
case ADS_SERVICE_RUNNING:
printf("The service is running.\n");
break;
case ADS_SERVICE_PAUSED:
printf("The service has paused.\n");
break;
case ADS_SERVICE_ERROR:
printf("The service has errors.\n");
break;
}
pSrvOp->Release();
IADsFileService, IADsFileServiceOperations, IADsService, IADsServiceOperations