Funzione GetServiceDisplayNameA (winsvc.h)

Recupera il nome visualizzato del servizio specificato.

Sintassi

BOOL GetServiceDisplayNameA(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCSTR    lpServiceName,
  [out, optional] LPSTR     lpDisplayName,
  [in, out]       LPDWORD   lpcchBuffer
);

Parametri

[in] hSCManager

Handle per il database di Gestione controllo del servizio, come restituito dalla funzione OpenSCManager .

[in] lpServiceName

Nome del servizio. Questo nome corrisponde al nome della chiave del Registro di sistema del servizio. È consigliabile scegliere un nome minore di 256 caratteri.

[out, optional] lpDisplayName

Puntatore a un buffer che riceve il nome visualizzato del servizio. Se la funzione ha esito negativo, questo buffer conterrà una stringa vuota.

La dimensione massima di questa matrice è 4K 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.

Questo parametro può specificare una stringa localizzata usando il formato seguente:

@[path]dllname,-strID

La stringa con identificatore strID viene caricata da dllname; il percorso è facoltativo. Per altre informazioni, vedere RegLoadMUIString.

Windows Server 2003 e Windows XP: Le stringhe localizzate non sono supportate fino a Windows Vista.

[in, out] lpcchBuffer

Puntatore a una variabile che specifica le dimensioni del buffer a cui punta da lpDisplayName, in TCHARs.

In output, questa variabile riceve le dimensioni del nome visualizzato del servizio, in caratteri, escluso il carattere null-terminazione.

Se il buffer puntato a per lpDisplayName è troppo piccolo per contenere il nome visualizzato, la funzione non lo archivia. Quando la funzione restituisce, lpcchBuffer contiene le dimensioni del nome visualizzato del servizio, escluso il carattere null-terminazione.

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 informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

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 . Per eseguire il mapping del nome visualizzato al nome del servizio, usare la funzione GetServiceKeyName .

Nota

L'intestazione winsvc.h definisce GetServiceDisplayName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winsvc.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

Funzioni del servizioGetServiceKeyNameOpenSCManager