Funzione GetServiceDirectory (winsvc.h)

Restituisce un percorso per un percorso del file system per servizio in cui un servizio legge e/o scrive lo stato.

Sintassi

DWORD GetServiceDirectory(
  SERVICE_STATUS_HANDLE  hServiceStatus,
  SERVICE_DIRECTORY_TYPE eDirectoryType,
  PWCHAR                 lpPathBuffer,
  DWORD                  cchPathBufferLength,
  DWORD                  *lpcchRequiredBufferLength
);

Parametri

hServiceStatus

Handle per la struttura delle informazioni sullo stato per il servizio corrente. Questo handle viene restituito dalla funzione RegisterServiceCtrlHandler .

eDirectoryType

Membro dell'enumerazione SERVICE_DIRECTORY_TYPE che identifica il tipo di percorso della directory per servizio da recuperare.

lpPathBuffer

Buffer allocato dal chiamante in cui verrà copiata la stringa del percorso. Se NULL, la chiamata di funzione avrà esito negativo con ERROR_INSUFFICIENT_BUFFER e restituirà la lunghezza del buffer richiesta, in WCHAR, in lpcchRequiredBufferLength. Se non è NULL, la lunghezza del buffer deve essere specificata in cchPathBufferLength. Il percorso, se scritto, sarà null terminato.

cchPathBufferLength

Lunghezza del buffer fornito in lpPathBuffer, in unità di WCHARS. Questo argomento viene ignorato se lpPathBuffer è NULL.

lpcchRequiredBufferLength

Questo valore viene impostato sulla lunghezza richiesta del buffer in unità di WCHAR. Questa lunghezza include il carattere NULL di terminazione.

Valore restituito

Restituisce ERROR_SUCCESS quando tutte le operazioni vengono completate correttamente e il percorso di stato con terminazione NULL viene scritto in lpPathBuffer. Restituisce ERROR_INSUFFICIENT_BUFFER se lpPathBuffer non è sufficientemente grande da contenere il percorso di stato o se lpPathBuffer è NULL. In questo caso, la lunghezza del buffer necessaria in WCHAR viene restituita tramite lpcchRequiredBufferLength. Se si verifica un altro errore, viene restituito un codice di errore Win32.

Commenti

Per ServiceDirectoryPersistentState, la sicurezza della directory è impostata per fornire solo l'accesso in scrittura all'account di sistema locale e al SID del servizio. Assicurarsi che i SID del servizio siano abilitati per qualsiasi servizio che chiama questa API. Per altre informazioni, vedere SERVICE_SID_INFO.

Per un'API simile che fornisce lo stato del servizio che può essere condiviso con i programmi associati, vedere GetSharedServiceDirectory.

Tutte le directory di stato del servizio vengono eliminate dalla gestione controllo del servizio dopo la disinstallazione del servizio.

Requisiti

   
Client minimo supportato Windows 10 versione 2004 (10.0; Build 19041)
Server minimo supportato Windows Server, versione 2004 (10.0; Build 19041)
Intestazione winsvc.h
Libreria Onecore.lib

Vedi anche

RegisterServiceCtrlHandler

GetSharedServiceDirectory

SERVICE_SID_INFO