QueryServiceConfigA-Funktion (winsvc.h)
Ruft die Konfigurationsparameter des angegebenen Diensts ab. Optionale Konfigurationsparameter sind mit der QueryServiceConfig2-Funktion verfügbar.
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 zugriffsrecht SERVICE_QUERY_CONFIG verfügen. Weitere Informationen finden Sie unter Dienstsicherheit und Zugriffsrechte.
[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 8.000 Bytes. Um die erforderliche Größe zu bestimmen, 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 parameter pcbBytesNeeded empfängt die erforderliche Größe.
[in] cbBufSize
Die Größe des Puffers, auf den der parameter lpServiceConfig in Bytes verweist.
[out] pcbBytesNeeded
Ein Zeiger auf eine Variable, die die Anzahl von Bytes empfängt, die zum Speichern aller Konfigurationsinformationen benötigt werden, 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 durch die Registrierungsfunktionen festgelegt werden, die vom Dienststeuerungs-Manager aufgerufen werden.
Rückgabecode | Beschreibung |
---|---|
|
Das Handle verfügt nicht über das zugriffsrecht SERVICE_QUERY_CONFIG. |
|
Es gibt mehr Informationen zur Dienstkonfiguration, als in den puffer lpServiceConfig passen würde. Die Anzahl der Bytes, die zum Abrufen aller Informationen erforderlich sind, wird im parameter pcbBytesNeeded zurückgegeben. Es wird nichts in lpServiceConfig geschrieben. |
|
Das angegebene Handle ist ungültig. |
Hinweise
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 mit 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, spiegeln die von QueryServiceConfig zurückgegebenen Informationen nicht die aktuelle Konfiguration des Diensts wider. Stattdessen spiegelt er die Konfiguration des Diensts wider, wenn er das nächste Mal ausgeführt wird. Die DisplayName-Taste ist eine Ausnahme. Wenn die DisplayName-Taste geändert wird, wird sie sofort wirksam, unabhängig davon, ob der Dienst ausgeführt wird.
Beispiele
Ein Beispiel finden Sie unter Abfragen der Konfiguration eines Diensts.
Hinweis
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 nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winsvc.h (einschließen von Windows.h) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |