Freigeben über


QueryServiceConfigA-Funktion (winsvc.h)

Ruft die Konfigurationsparameter des angegebenen Diensts ab. Optionale Konfigurationsparameter stehen mithilfe der QueryServiceConfig2--Funktion zur Verfügung.

Syntax

BOOL QueryServiceConfigA(
  [in]            SC_HANDLE               hService,
  [out, optional] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
  [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.

[out, optional] lpServiceConfig

Ein Zeiger auf einen Puffer, der die Dienstkonfigurationsinformationen empfängt. Das Format der Daten ist eine QUERY_SERVICE_CONFIG Struktur.

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_BUFFER zurück. Der pcbBytesNeededed Parameter erhält die erforderliche Größe.

[in] cbBufSize

Die Größe des Puffers, auf den der lpServiceConfig Parameter in Byte verweist.

[out] pcbBytesNeeded

Ein Zeiger auf eine Variable, die die Anzahl der Zum Speichern aller Konfigurationsinformationen benötigten Bytes empfängt, 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 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 zugriffsrecht SERVICE_QUERY_CONFIG.
ERROR_INSUFFICIENT_BUFFER
Es gibt mehr Dienstkonfigurationsinformationen, als in den lpServiceConfig Puffer passen würden. Die Anzahl der Bytes, die zum Abrufen aller Informationen erforderlich sind, wird im pcbBytesNeededed Parameter zurückgegeben. Nichts wird in lpServiceConfiggeschrieben.
ERROR_INVALID_HANDLE
Der angegebene Handle ist ungültig.

Bemerkungen

Die QueryServiceConfig-funktion gibt die Dienstkonfigurationsinformationen zurück, die in der Registrierung für einen bestimmten Dienst gespeichert sind. Diese Konfigurationsinformationen werden zuerst von einem Dienststeuerungsprogramm mithilfe der CreateService-Funktion festgelegt. Diese Informationen wurden möglicherweise von einem Dienstkonfigurationsprogramm mithilfe der ChangeServiceConfig-Funktion aktualisiert.

Wenn der Dienst ausgeführt wurde, als die Konfigurationsinformationen zuletzt geändert wurden, entsprechen die von QueryServiceConfig zurückgegebenen Informationen nicht der aktuellen Konfiguration des Diensts. Stattdessen spiegelt sie die Konfiguration des Diensts wider, wenn er als nächstes ausgeführt wird. Der schlüssel DisplayName ist eine Ausnahme. Wenn der DisplayName-Taste geändert wird, wird er sofort wirksam, unabhängig davon, ob der Dienst ausgeführt wird.

Beispiele

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

Anmerkung

Der winsvc.h-Header definiert QueryServiceConfig 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-

CreateService-

OpenService-

QUERY_SERVICE_CONFIG

QueryServiceConfig2-

QueryServiceDynamicInformation-

QueryServiceObjectSecurity-

Dienstkonfiguration

Dienstfunktionen