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 zugriffsrecht SERVICE_QUERY_CONFIG verfügen. Weitere Informationen finden Sie unter Dienstsicherheit und Zugriffsrechte.

[in] dwInfoLevel

Die abzufragten Konfigurationsinformationen. Dieser Parameter kann einen der folgenden Werte annehmen.

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 parameter lpInfo 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 parameter lpInfo 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 lpInfo-Parameter 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 8.000 Byte. Geben Sie null für diesen Parameter und 0 für den cbBufSize-Parameter an, um die erforderliche Größe zu bestimmen. Die Funktion schlägt fehl, und GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück. Der parameter pcbBytesNeeded empfängt 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 von Bytes empfängt, die zum Speichern der Konfigurationsinformationen erforderlich sind, wenn die Funktion mit ERROR_INSUFFICIENT_BUFFER fehlschlägt.

Rückgabewert

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

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

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 Zugriffsrecht SERVICE_QUERY_CONFIG .
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 parameter pcbBytesNeeded zurückgegeben. In lpBuffer wird nichts geschrieben.
ERROR_INVALID_HANDLE
Das angegebene Handle ist ungültig.

Hinweise

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

Sie können zusätzliche Konfigurationsinformationen mit den Funktionen ChangeServiceConfig bzw . QueryServiceConfig ändern und abfragen.

Beispiele

Ein Beispiel finden Sie unter Abfragen der Konfiguration eines Diensts.

Hinweis

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

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winsvc.h (windows.h einschließen)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

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