QUERY_SERVICE_CONFIGA Struktur (winsvc.h)
Enthält Konfigurationsinformationen für einen installierten Dienst. Sie wird von der QueryServiceConfig--Funktion verwendet.
Syntax
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;
Angehörige
dwServiceType
Der Diensttyp. Dieses Element kann einer der folgenden Werte sein:
Wenn der Wert SERVICE_WIN32_OWN_PROCESS oder SERVICE_WIN32_SHARE_PROCESSist und der Dienst im Kontext des LocalSystem-Kontosausgeführt wird, kann auch der folgende Typ angegeben werden.
Wert | Bedeutung |
---|---|
|
Der Dienst kann mit dem Desktop interagieren.
Weitere Informationen finden Sie unter Interactive Services. |
dwStartType
Wann der Dienst gestartet werden soll. Dieses Element kann einer der folgenden Werte sein:
Wert | Bedeutung |
---|---|
|
Ein Dienst, der während des Systemstarts automatisch vom Dienststeuerungs-Manager gestartet wurde. |
|
Ein Gerätetreiber, der vom Systemladeprogramm gestartet wurde. Dieser Wert ist nur für Treiberdienste gültig. |
|
Ein Dienst, der vom Dienststeuerungs-Manager gestartet wurde, wenn ein Prozess die StartService--Funktion aufruft. |
|
Ein Dienst, der nicht gestartet werden kann. Versucht, den Dienst zu starten, führt der Fehlercode ERROR_SERVICE_DISABLED. |
|
Ein Gerätetreiber, der von der IoInitSystem--Funktion gestartet wurde. Dieser Wert ist nur für Treiberdienste gültig. |
dwErrorControl
Der Schweregrad des Fehlers und der ausgeführten Aktion, wenn dieser Dienst nicht gestartet werden kann. Dieses Element kann einer der folgenden Werte sein:
lpBinaryPathName
Der vollqualifizierte Pfad zur Dienst-Binärdatei.
Der Pfad kann auch Argumente für einen Automatischstartdienst enthalten. Diese Argumente werden an den Diensteinstiegspunkt übergeben (in der Regel die Hauptfunktion).
lpLoadOrderGroup
Der Name der Lade sortiergruppe, zu der dieser Dienst gehört. Wenn das Element NULL oder eine leere Zeichenfolge ist, gehört der Dienst nicht zu einer Ladereihenfolgegruppe.
Das Startprogramm verwendet Ladenreihenfolgegruppen, um Dienstgruppen in einer bestimmten Reihenfolge in Bezug auf die anderen Gruppen zu laden. Die Liste der Laden sortiergruppen ist im folgenden Registrierungswert enthalten:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
dwTagId
Ein eindeutiger Tagwert für diesen Dienst in der gruppe, die durch den parameter lpLoadOrderGroup angegeben wird. Ein Wert von Null gibt an, dass dem Dienst kein Tag zugewiesen wurde. Sie können ein Tag zum Bestellen des Dienststarts innerhalb einer Ladereihenfolgegruppe verwenden, indem Sie einen Tagreihenfolgevektor in der Registrierung angeben, die sich unter:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
Tags werden nur für SERVICE_KERNEL_DRIVER- und SERVICE_FILE_SYSTEM_DRIVER Typdienste mit SERVICE_BOOT_START oder SERVICE_SYSTEM_START Starttypen ausgewertet.
lpDependencies
Ein Zeiger auf ein Array mit nulltrennten Namen von Diensten oder Laden von Sortiergruppen, die vor diesem Dienst gestartet werden müssen. Das Array ist doubly null-terminated. Wenn der Zeiger NULL- ist oder auf eine leere Zeichenfolge zeigt, weist der Dienst keine Abhängigkeiten auf. Wenn ein Gruppenname angegeben ist, muss er dem SC_GROUP_IDENTIFIER (definiert in WinSvc.h) vorangestellt werden, um ihn von einem Dienstnamen zu unterscheiden, da Dienste und Dienstgruppen denselben Namensraum aufweisen. Abhängigkeit von einem Dienst bedeutet, dass dieser Dienst nur ausgeführt werden kann, wenn der dienst, von dem er abhängt, ausgeführt wird. Abhängigkeit von einer Gruppe bedeutet, dass dieser Dienst ausgeführt werden kann, wenn mindestens ein Mitglied der Gruppe ausgeführt wird, nachdem versucht wurde, alle Mitglieder der Gruppe zu starten.
lpServiceStartName
Wenn der Diensttyp SERVICE_WIN32_OWN_PROCESS oder SERVICE_WIN32_SHARE_PROCESSist, ist dieses Mitglied der Name des Kontos, bei dem der Dienstprozess bei der Ausführung angemeldet wird. Dieser Name kann das Formular Domain\UserNamesein. Wenn das Konto zur integrierten Domäne gehört, kann der Name des Formulars .\UserNamesein. Der Name kann auch "LocalSystem" lauten, wenn der Prozess unter dem LocalSystem-Konto ausgeführt wird.
Wenn der Diensttyp SERVICE_KERNEL_DRIVER oder SERVICE_FILE_SYSTEM_DRIVERist, ist dieses Element der Name des Treiberobjekts (d. h. \FileSystem\Rdr oder \Driver\Xns), das vom Eingabe- und Ausgabesystem (I/O) zum Laden des Gerätetreibers verwendet wird. Wenn dieses Element NULL ist, wird der Treiber basierend auf dem Dienstnamen mit einem standardobjektnamen ausgeführt, der vom E/A-System erstellt wurde.
lpDisplayName
Der Anzeigename, der von Dienststeuerungsprogrammen verwendet werden soll, um den Dienst zu identifizieren. Diese Zeichenfolge hat eine maximale Länge von 256 Zeichen. Der Name wird im Dienststeuerungs-Manager in der Groß-/Kleinschreibung beibehalten. Bei Anzeigenamenvergleichen wird immer die Groß-/Kleinschreibung beachtet.
Dieser Parameter kann eine lokalisierte Zeichenfolge mit dem folgenden Format angeben:
@[Path]DLLName,-StrID-
Die Zeichenfolge mit bezeichner StrID- wird aus DLLNamegeladen; der Path optional ist. Weitere Informationen finden Sie unter RegLoadMUIString.
Windows Server 2003 und Windows XP: Lokalisierte Zeichenfolgen werden erst unter Windows Vista unterstützt.
Bemerkungen
Die Konfigurationsinformationen für einen Dienst werden anfangs angegeben, wenn der Dienst durch einen Aufruf der CreateService--Funktion erstellt wird. Die Informationen können durch Aufrufen der ChangeServiceConfig-Funktion geändert werden.
Beispiele
Ein Beispiel finden Sie unter Abfragen der Konfigurations-eines Diensts.
Anmerkung
Der winsvc.h-Header definiert QUERY_SERVICE_CONFIG als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Header- | winsvc.h (enthalten Windows.h) |