Condividi tramite


Funzione QueryServiceConfig2A (winsvc.h)

Recupera i parametri di configurazione facoltativi del servizio specificato.

Sintassi

BOOL QueryServiceConfig2A(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [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.

[in] dwInfoLevel

Informazioni di configurazione su cui eseguire query. Questo parametro può avere uno dei valori seguenti.

Valore Significato
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
Il parametro lpInfo è un puntatore a una struttura SERVICE_DELAYED_AUTO_START_INFO .

Windows Server 2003 e Windows XP: Questo valore non è supportato.

SERVICE_CONFIG_DESCRIPTION
1
Il parametro lpBuffer è un puntatore a una struttura SERVICE_DESCRIPTION .
SERVICE_CONFIG_FAILURE_ACTIONS
2
Il parametro lpBuffer è un puntatore a una struttura SERVICE_FAILURE_ACTIONS .
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
Il parametro lpInfo è un puntatore a una struttura SERVICE_FAILURE_ACTIONS_FLAG .

Windows Server 2003 e Windows XP: Questo valore non è supportato.

SERVICE_CONFIG_PREFERRED_NODE
9
Il parametro lpInfo è un puntatore a una struttura SERVICE_PREFERRED_NODE_INFO .

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
Il parametro lpInfo è un puntatore a una struttura SERVICE_PRESHUTDOWN_INFO .

Windows Server 2003 e Windows XP: Questo valore non è supportato.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
Il parametro lpInfo è un puntatore a una struttura SERVICE_REQUIRED_PRIVILEGES_INFO .

Windows Server 2003 e Windows XP: Questo valore non è supportato.

SERVICE_CONFIG_SERVICE_SID_INFO
5
Il parametro lpInfo è un puntatore a una struttura SERVICE_SID_INFO .

Windows Server 2003 e Windows XP: Questo valore non è supportato.

SERVICE_CONFIG_TRIGGER_INFO
8
Il parametro lpInfo è un puntatore a una struttura SERVICE_TRIGGER_INFO .

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
Il parametro lpInfo è un puntatore a una struttura SERVICE_LAUNCH_PROTECTED_INFO .
Nota Questo valore è supportato a partire da Windows 8.1.
 

[out, optional] lpBuffer

Puntatore al buffer che riceve le informazioni di configurazione del servizio. Il formato di questi dati dipende dal valore del parametro dwInfoLevel .

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 ha esito negativo e GetLastError restituisce ERROR_INSUFFICIENT_BUFFER. Il parametro pcbBytesNeeded riceve le dimensioni necessarie.

[in] cbBufSize

Dimensione della struttura a cui punta il parametro lpBuffer , in byte.

[out] pcbBytesNeeded

Puntatore a una variabile che riceve il numero di byte necessari per archiviare 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 che si adattano al buffer lpBuffer . Il numero di byte necessari per ottenere tutte le informazioni viene restituito nel parametro pcbBytesNeeded . Niente è scritto in lpBuffer.
ERROR_INVALID_HANDLE
L'handle specificato non è valido.

Commenti

La funzione QueryServiceConfig2 restituisce le informazioni di configurazione facoltative archiviate nel database di Gestione controllo dei servizi per il servizio specificato. È possibile modificare queste informazioni di configurazione usando la funzione ChangeServiceConfig2 .

È possibile modificare ed eseguire query su informazioni di configurazione aggiuntive usando rispettivamente le funzioni ChangeServiceConfig e QueryServiceConfig .

Esempio

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

Nota

L'intestazione winsvc.h definisce QueryServiceConfig2 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

   
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

ChangeServiceConfig2

CreateService

Openservice

QueryServiceConfig

QueryServiceDynamicInformation

QueryServiceObjectSecurity

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

Configurazione del servizio

Funzioni del servizio