Funzione QueryServiceConfigA (winsvc.h)

Recupera i parametri di configurazione del servizio specificato. I parametri di configurazione facoltativi sono disponibili usando la funzione QueryServiceConfig2 .

Sintassi

BOOL QueryServiceConfigA(
  [in]            SC_HANDLE               hService,
  [out, optional] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
  [in]            DWORD                   cbBufSize,
  [out]           LPDWORD                 pcbBytesNeeded
);

Parametri

[in] hService

Handle per il servizio. Questo handle viene restituito dalla funzione OpenService o CreateService e deve avere il diritto di accesso SERVICE_QUERY_CONFIG. Per altre informazioni, vedere Sicurezza del servizio e diritti di accesso.

[out, optional] lpServiceConfig

Puntatore a un buffer che riceve le informazioni di configurazione del servizio. Il formato dei dati è una struttura QUERY_SERVICE_CONFIG .

La dimensione massima di questa matrice è di 8 KB. Per determinare le dimensioni necessarie, specificare NULL per questo parametro e 0 per il parametro cbBufSize . La funzione avrà esito negativo e GetLastError restituirà ERROR_INSUFFICIENT_BUFFER. Il parametro pcbBytesNeeded riceverà le dimensioni necessarie.

[in] cbBufSize

Dimensioni del buffer a cui punta il parametro lpServiceConfig , in byte.

[out] pcbBytesNeeded

Puntatore a una variabile che riceve il numero di byte necessari per archiviare tutte le informazioni di configurazione, se la funzione ha esito negativo con ERROR_INSUFFICIENT_BUFFER.

Valore restituito

Se la funzione ha 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.

I codici di errore seguenti possono essere impostati dal gestore di controllo del servizio. Altri possono essere impostati dalle funzioni del Registro di sistema chiamate dal gestore di controllo del servizio.

Codice restituito Descrizione
ERROR_ACCESS_DENIED
L'handle non dispone del diritto di accesso SERVICE_QUERY_CONFIG.
ERROR_INSUFFICIENT_BUFFER
Sono disponibili più informazioni di configurazione del servizio rispetto a quelle del buffer lpServiceConfig . Il numero di byte necessari per ottenere tutte le informazioni viene restituito nel parametro pcbBytesNeeded . Non viene scritto nulla in lpServiceConfig.
ERROR_INVALID_HANDLE
L'handle specificato non è valido.

Commenti

La funzione QueryServiceConfig restituisce le informazioni di configurazione del servizio mantenute nel Registro di sistema per un determinato servizio. Queste informazioni di configurazione vengono prima impostate da un programma di controllo del servizio tramite la funzione CreateService . Queste informazioni potrebbero essere state aggiornate da un programma di configurazione del servizio usando la funzione ChangeServiceConfig .

Se il servizio era in esecuzione quando le informazioni di configurazione sono state modificate per l'ultima volta, le informazioni restituite da QueryServiceConfig non rifletteranno la configurazione corrente del servizio. Rifletterà invece la configurazione del servizio al successivo esecuzione. La chiave DisplayName è un'eccezione. Quando la chiave DisplayName viene modificata, viene applicata immediatamente, indipendentemente dal fatto che il servizio sia in esecuzione.

Esempio

Per un esempio, vedere Esecuzione di query sulla configurazione di un servizio.

Nota

L'intestazione winsvc.h definisce QueryServiceConfig 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

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

ChangeServiceConfig

CreateService

Openservice

QUERY_SERVICE_CONFIG

QueryServiceConfig2

QueryServiceDynamicInformation

QueryServiceObjectSecurity

Configurazione del servizio

Funzioni del servizio