Dienst, Service, QueryServiceConfig
-
Hallo Forum.
vor einiger Zeit gab es hier im Forum mal einen Thread über Service-Anwendungen und Jansen hatte einem der Teilnehmer als Hilfestellung einen Hinweis zu QueryServiceConfig gegeben. Leider funktioniert die Suchfunktion heute nicht, so daß ich den Artikel nicht finden kann.
Dehalb möchte ich nachfragen, wie ich QueryServiceConfig nutzen kann. Zum Einstieg habe ich das Beispiel über Service-Anwendungen aus der Borlandhilfe (TSparkyThread) ausprobiert. Das funktioniert. Die QueryServiceConfig-Funktion erwartet als zweiten Parameter einen Zeiger auf eine Struktur, die ich gerne auswerten würden. Dazu habe ich die Struktur wie unten angegeben erstellt.
typedef struct _QUERY_SERVICE_CONFIG { // qsc DWORD dwServiceType; DWORD dwStartType; DWORD dwErrorControl; LPTSTR lpBinaryPathName; LPTSTR lpLoadOrderGroup; DWORD dwTagId; LPTSTR lpDependencies; LPTSTR lpServiceStartName; LPTSTR lpDisplayName; } QUERY_SERVICE_CONFIG, LPQUERY_SERVICE_CONFIG, *qsc; //} *qsc; //SparkyThread->Handle LPDWORD pcbBytesNeeded; //QueryServiceConfig() bError = QueryServiceConfig( SparkyThread->Handle, // handle of service &qsc, // address of service config. structure sizeof(qsc), // size of service configuration buffer pcbBytesNeeded // address of variable for bytes needed ); lError = GetLastError();
Die Fehlermeldung lautet "Ungültige Verwendung von typedef 'qsc'"
Was mache ich denn da falsch? Es wäre nett, wenn mir einer von euch auf die Sprünge helfen könnte.
Vielen Dank
-
Lass mal das typedef vor struct weg.
-
Burkhi schrieb:
Lass mal das typedef vor struct weg.
Pardon, hab das erste *qsc nicht gesehen.
Du mußt die variable qsc vom typ QUERY_SERVICE_CONFIG definieren:QUERY_SERVICE_CONFIG qsc;
Das dürfte dann funzen.
-
Danke für Deine Hilfe