Condividi tramite


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 , in TCHAR. Quando la funzione viene restituita, questo parametro contiene le dimensioni del nome del servizio, in TCHARs, escluso il carattere di terminazione Null.

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 . Entrambi i nomi vengono specificati con la funzione CreateService e possono essere modificati con la funzione ChangeServiceConfig . Le informazioni specificate per un servizio vengono archiviate in una chiave con lo stesso nome del servizio nella chiave del Registro di sistema HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName chiave del Registro di sistema.

Per eseguire il mapping del nome del servizio al nome visualizzato, usare la funzione getServiceDisplayName . Per eseguire il mapping del nome visualizzato al nome del servizio, usare la funzione GetServiceKeyName.

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

Vedere anche

GetServiceDisplayName

OpenSCManager

Funzioni del servizio