QueryServiceLockStatusA-Funktion (winsvc.h)
[Diese Funktion hat keine Auswirkung auf Windows Vista.]
Ruft den Sperrstatus der angegebenen Dienststeuerungs-Manager-Datenbank ab.
Syntax
BOOL QueryServiceLockStatusA(
[in] SC_HANDLE hSCManager,
[out, optional] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded
);
Parameter
[in] hSCManager
Ein Handle für die Dienststeuerungs-Manager-Datenbank. Die OpenSCManager--Funktion gibt dieses Handle zurück, das über das SC_MANAGER_QUERY_LOCK_STATUS Zugriffsrecht verfügen muss. Weitere Informationen finden Sie unter Service Security and Access Rights.
[out, optional] lpLockStatus
Ein Zeiger auf eine QUERY_SERVICE_LOCK_STATUS Struktur, die den Sperrstatus der angegebenen Datenbank empfängt, wird zurückgegeben, sowie die Zeichenfolgen, auf die ihre Member verweisen.
[in] cbBufSize
Die Größe des Puffers, auf den der lpLockStatus Parameter in Byte verweist.
[out] pcbBytesNeeded
Ein Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die zum Zurückgeben aller Sperrstatusinformationen erforderlich sind, wenn die Funktion 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 Fehlercodes können von den Registrierungsfunktionen festgelegt werden, die vom Dienststeuerungs-Manager aufgerufen werden.
Rückgabecode | Beschreibung |
---|---|
|
Das Handle verfügt nicht über das SC_MANAGER_QUERY_LOCK_STATUS Zugriffsrecht. |
|
Es gibt mehr Sperrstatusinformationen, als in den lpLockStatus Puffer passen würden. Die Anzahl der Bytes, die zum Abrufen aller Informationen erforderlich sind, wird im pcbBytesNeededed Parameter zurückgegeben. Nichts wird in lpLockStatusgeschrieben. |
|
Der angegebene Handle ist ungültig. |
Bemerkungen
Die QueryServiceLockStatus--Funktion gibt eine QUERY_SERVICE_LOCK_STATUS Struktur zurück, die angibt, ob die angegebene Datenbank gesperrt ist. Wenn die Datenbank gesperrt ist, stellt die Struktur den Kontonamen des Benutzers bereit, der die Sperre besitzt, und die Dauer der Aufbewahrung der Sperre.
Ein Prozess ruft die LockServiceDatabase--Funktion auf, um den Besitz einer Dienststeuerungs-Manager-Datenbanksperre zu erwerben, und die UnlockServiceDatabase--Funktion, um die Sperre freizugeben.
Anmerkung
Der winsvc.h-Header definiert QueryServiceLockStatus 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 |