Freigeben über


QueryServiceConfig2A-Funktion (winsvc.h)

Ruft die optionalen Konfigurationsparameter des angegebenen Diensts ab.

Syntax

BOOL QueryServiceConfig2A(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [in]            DWORD     cbBufSize,
  [out]           LPDWORD   pcbBytesNeeded
);

Parameter

[in] hService

Ein Handle für den Dienst. Dieses Handle wird von der OpenService-- oder CreateService--Funktion zurückgegeben und muss über das SERVICE_QUERY_CONFIG Zugriffsrecht verfügen. Weitere Informationen finden Sie unter Service Security and Access Rights.

[in] dwInfoLevel

Die konfigurationsinformationen, die abgefragt werden sollen. Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
Der lpInfo Parameter ist ein Zeiger auf eine SERVICE_DELAYED_AUTO_START_INFO Struktur.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SERVICE_CONFIG_DESCRIPTION
1
Der lpBuffer Parameter ist ein Zeiger auf eine SERVICE_DESCRIPTION Struktur.
SERVICE_CONFIG_FAILURE_ACTIONS
2
Der lpBuffer Parameter ist ein Zeiger auf eine SERVICE_FAILURE_ACTIONS Struktur.
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
Der lpInfo Parameter ist ein Zeiger auf eine SERVICE_FAILURE_ACTIONS_FLAG Struktur.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SERVICE_CONFIG_PREFERRED_NODE
9
Der lpInfo Parameter ist ein Zeiger auf eine SERVICE_PREFERRED_NODE_INFO Struktur.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
Der lpInfo Parameter ist ein Zeiger auf eine SERVICE_PRESHUTDOWN_INFO Struktur.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
Der lpInfo Parameter ist ein Zeiger auf eine SERVICE_REQUIRED_PRIVILEGES_INFO Struktur.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SERVICE_CONFIG_SERVICE_SID_INFO
5
Der lpInfo Parameter ist ein Zeiger auf eine SERVICE_SID_INFO Struktur.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SERVICE_CONFIG_TRIGGER_INFO
8
Der lpInfo Parameter ist ein Zeiger auf eine SERVICE_TRIGGER_INFO Struktur.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
Der parameter lpInfo ist ein Zeiger einer SERVICE_LAUNCH_PROTECTED_INFO Struktur.
Hinweis Dieser Wert wird ab Windows 8.1 unterstützt.
 

[out, optional] lpBuffer

Ein Zeiger auf den Puffer, der die Dienstkonfigurationsinformationen empfängt. Das Format dieser Daten hängt vom Wert des dwInfoLevel-Parameters ab.

Die maximale Größe dieses Arrays beträgt 8K Bytes. Um die erforderliche Größe zu ermitteln, geben Sie NULL- für diesen Parameter und 0 für den cbBufSize Parameter an. Die Funktion schlägt fehl und GetLastError- gibt ERROR_INSUFFICIENT_BUFFERzurück. Der pcbBytesNeededed Parameter erhält die erforderliche Größe.

[in] cbBufSize

Die Größe der Struktur, auf die der lpBuffer Parameter in Bytes verweist.

[out] pcbBytesNeeded

Ein Zeiger auf eine Variable, die die Anzahl der Zum Speichern der Konfigurationsinformationen erforderlichen Bytes empfängt, wenn die Funktion mit ERROR_INSUFFICIENT_BUFFERfehlschlägt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Die folgenden Fehlercodes können vom Dienststeuerungs-Manager festgelegt werden. Andere können von den Registrierungsfunktionen festgelegt werden, die vom Dienststeuerungs-Manager aufgerufen werden.

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Das Handle verfügt nicht über das SERVICE_QUERY_CONFIG Zugriffsrecht.
ERROR_INSUFFICIENT_BUFFER
Es gibt mehr Dienstkonfigurationsinformationen, als in den lpBuffer Puffer passen würden. Die Anzahl der Bytes, die zum Abrufen aller Informationen erforderlich sind, wird im pcbBytesNeededed Parameter zurückgegeben. Nichts wird in lpBuffergeschrieben.
ERROR_INVALID_HANDLE
Der angegebene Handle ist ungültig.

Bemerkungen

Die QueryServiceConfig2--Funktion gibt die optionalen Konfigurationsinformationen zurück, die in der Dienststeuerungs-Manager-Datenbank für den angegebenen Dienst gespeichert sind. Sie können diese Konfigurationsinformationen mithilfe der ChangeServiceConfig2--Funktion ändern.

Sie können zusätzliche Konfigurationsinformationen ändern und abfragen, indem Sie die funktionen ChangeServiceConfig bzw. QueryServiceConfig.

Beispiele

Ein Beispiel finden Sie unter Abfragen der Konfigurations-eines Diensts.

Anmerkung

Der winsvc.h-Header definiert QueryServiceConfig2 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]
Zielplattform- Fenster
Header- winsvc.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll

Siehe auch

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

Dienstkonfiguration

Dienstfunktionen