Funzione GetServiceKeyNameA (winsvc.h)
Recupera il nome del servizio specificato.
Sintassi
BOOL GetServiceKeyNameA(
[in] SC_HANDLE hSCManager,
[in] LPCSTR lpDisplayName,
[out, optional] LPSTR lpServiceName,
[in, out] LPDWORD lpcchBuffer
);
Parametri
[in] hSCManager
Handle per il database di gestione del controllo del servizio del computer, come restituito da OpenSCManager.
[in] lpDisplayName
Nome visualizzato del servizio. Questa stringa ha una lunghezza massima di 256 caratteri.
[out, optional] lpServiceName
Puntatore a un buffer che riceve il nome del servizio. Se la funzione ha esito negativo, questo buffer conterrà una stringa vuota.
La dimensione massima di questa matrice è di 4.000 byte. Per determinare le dimensioni necessarie, specificare NULL per questo parametro e 0 per il parametro lpcchBuffer. La funzione avrà esito negativo e GetLastError restituirà ERROR_INSUFFICIENT_BUFFER. Il parametro lpcchBuffer riceverà le dimensioni necessarie.
[in, out] lpcchBuffer
Puntatore a variabile che specifica le dimensioni del buffer a cui punta il parametro lpServiceName
Se il buffer a cui punta lpServiceName è troppo piccolo per contenere il nome del servizio, la funzione non archivia dati. Quando la funzione termina, lpcchBuffer contiene le dimensioni del nome del servizio, escluso il carattere di terminazione NULL.
Valore restituito
Se le funzioni hanno esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
Esistono due nomi per un servizio: il nome del servizio e il nome visualizzato. Il nome del servizio è il nome della chiave del servizio nel Registro di sistema. Il nome visualizzato è un nome descrittivo visualizzato nell'applicazione pannello di controllo Servizi e viene usato con il comando NET START
Per eseguire il mapping del nome del servizio al nome visualizzato, usare la funzione getServiceDisplayName
Nota
L'intestazione winsvc.h definisce GetServiceKeyName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [solo app desktop] |
server minimo supportato | Windows Server 2003 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winsvc.h (include Windows.h) |
libreria |
Advapi32.lib |
dll | Advapi32.dll |