struttura QUERY_SERVICE_CONFIGA (winsvc.h)
Contiene informazioni di configurazione per un servizio installato. Viene usato dalla funzione
Sintassi
typedef struct _QUERY_SERVICE_CONFIGA {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPSTR lpBinaryPathName;
LPSTR lpLoadOrderGroup;
DWORD dwTagId;
LPSTR lpDependencies;
LPSTR lpServiceStartName;
LPSTR lpDisplayName;
} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
Membri
dwServiceType
Tipo di servizio. Questo membro può essere uno dei valori seguenti.
Se il valore è SERVICE_WIN32_OWN_PROCESS o SERVICE_WIN32_SHARE_PROCESSe il servizio è in esecuzione nel contesto dell'account LocalSystem, è possibile specificare anche il tipo seguente.
Valore | Significato |
---|---|
|
Il servizio può interagire con il desktop.
Per altre informazioni, vedere Interactive Services. |
dwStartType
Quando avviare il servizio. Questo membro può essere uno dei valori seguenti.
dwErrorControl
Gravità dell'errore e azione eseguita se il servizio non viene avviato. Questo membro può essere uno dei valori seguenti.
lpBinaryPathName
Percorso completo del file binario del servizio.
Il percorso può includere anche argomenti per un servizio di avvio automatico. Questi argomenti vengono passati al punto di ingresso del servizio (in genere la funzione principale
lpLoadOrderGroup
Nome del gruppo di ordinamento del carico a cui appartiene il servizio. Se il membro è NULL o una stringa vuota, il servizio non appartiene a un gruppo di ordinamento del carico.
Il programma di avvio usa i gruppi di ordinamento del carico per caricare gruppi di servizi in un ordine specificato rispetto agli altri gruppi. L'elenco dei gruppi di ordinamento del carico è contenuto nel seguente valore del Registro di sistema:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
dwTagId
Valore di tag univoco per questo servizio nel gruppo specificato dal parametro lpLoadOrderGroup. Un valore pari a zero indica che al servizio non è stato assegnato un tag. È possibile usare un tag per l'avvio del servizio di ordinamento all'interno di un gruppo di ordini di carico specificando un vettore di ordine tag nel Registro di sistema all'indirizzo:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
I tag vengono valutati solo per i servizi di tipo SERVICE_KERNEL_DRIVER e SERVICE_FILE_SYSTEM_DRIVER con SERVICE_BOOT_START o SERVICE_SYSTEM_START tipi start.
lpDependencies
Puntatore a una matrice di nomi separati da Null di servizi o gruppi di ordinamento di carico che devono iniziare prima di questo servizio. La matrice è con terminazione null doubly. Se il puntatore è NULL o se punta a una stringa vuota, il servizio non ha dipendenze. Se viene specificato un nome di gruppo, deve essere preceduto dal carattere SC_GROUP_IDENTIFIER (definito in WinSvc.h) per distinguerlo da un nome di servizio, perché i servizi e i gruppi di servizi condividono lo stesso spazio dei nomi. La dipendenza da un servizio significa che questo servizio può essere eseguito solo se il servizio da cui dipende è in esecuzione. La dipendenza da un gruppo indica che questo servizio può essere eseguito se almeno un membro del gruppo è in esecuzione dopo un tentativo di avviare tutti i membri del gruppo.
lpServiceStartName
Se il tipo di servizio è SERVICE_WIN32_OWN_PROCESS o SERVICE_WIN32_SHARE_PROCESS, questo membro è il nome dell'account su cui verrà eseguito il processo del servizio come quando viene eseguito. Questo nome può essere nel formato Dominio\NomeUtente. Se l'account appartiene al dominio predefinito, il nome può essere nel formato .\UserName. Il nome può anche essere "LocalSystem" se il processo è in esecuzione con l'account LocalSystem.
Se il tipo di servizio è SERVICE_KERNEL_DRIVER o SERVICE_FILE_SYSTEM_DRIVER, questo membro è il nome dell'oggetto driver (ovvero \FileSystem\Rdr o \Driver\Xns) usato dal sistema di input e output (I/O) per caricare il driver di dispositivo. Se questo membro è NULL, il driver deve essere eseguito con un nome di oggetto predefinito creato dal sistema di I/O, in base al nome del servizio.
lpDisplayName
Nome visualizzato da utilizzare dai programmi di controllo del servizio per identificare il servizio. Questa stringa ha una lunghezza massima di 256 caratteri. Il nome viene mantenuto senza distinzione tra maiuscole e minuscole nella gestione del controllo del servizio. I confronti tra nomi visualizzati non fanno sempre distinzione tra maiuscole e minuscole.
Questo parametro può specificare una stringa localizzata usando il formato seguente:
@[Percorso]DLLName,StrID
La stringa con identificatore
Windows Server 2003 e Windows XP: stringhe localizzate non sono supportate fino a Windows Vista.
Osservazioni
Le informazioni di configurazione per un servizio vengono inizialmente specificate quando il servizio viene creato da una chiamata alla funzione CreateService
Esempi
Per un esempio, vedere Eseguire query sulla configurazione di un servizio.
Nota
L'intestazione winsvc.h definisce QUERY_SERVICE_CONFIG 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] |
intestazione |
winsvc.h (include Windows.h) |