Condividi tramite


Richieste di controllo dei servizi

Per inviare richieste di controllo a un servizio in esecuzione, un programma di controllo del servizio usa la funzioneControlService. Questa funzione specifica un valore di controllo passato alla funzioneHandlerExdel servizio specificato. Questo valore di controllo può essere un codice definito dall'utente oppure può essere uno dei codici standard che consentono al programma chiamante di eseguire le azioni seguenti:

  • Arrestare un servizio (SERVICE_CONTROL_STOP).
  • Sospendere un servizio (SERVICE_CONTROL_PAUSE).
  • Riprendere l'esecuzione di un servizio sospeso (SERVICE_CONTROL_CONTINUE).
  • Recuperare le informazioni sullo stato aggiornate da un servizio (SERVICE_CONTROL_INTERROGATE).

Ogni servizio specifica i valori di controllo che accetterà ed elaborerà. Per determinare quale dei valori di controllo standard vengono accettati da un servizio, utilizzare la funzione QueryServiceStatusEx o specificare il valore del controllo SERVICE_CONTROL_INTERROGATE in una chiamata alla funzioneControlService. Il dwControlsAccepted membro della struttura SERVICE_STATUS restituita da queste funzioni indica se il servizio può essere arrestato, sospeso o ripreso. Tutti i servizi accettano il valore del controllo SERVICE_CONTROL_INTERROGATE.

La funzione QueryServiceStatusEx segnala lo stato più recente per un servizio specificato, ma non ottiene uno stato aggiornato dal servizio stesso. L'utilizzo del valore del controllo SERVICE_CONTROL_INTERROGATE in una chiamata a ControlService assicura che le informazioni sullo stato restituite siano correnti.

il controllo di un servizio tramite SC