QueryServiceLockStatusA-Funktion (winsvc.h)
[Diese Funktion hat ab Windows Vista keine Auswirkungen.]
Ruft die Sperr-status 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 zugriffsrecht SC_MANAGER_QUERY_LOCK_STATUS verfügen muss. Weitere Informationen finden Sie unter Dienstsicherheit und Zugriffsrechte.
[out, optional] lpLockStatus
Ein Zeiger auf eine QUERY_SERVICE_LOCK_STATUS-Struktur, die die status der angegebenen Datenbank empfängt, sowie die Zeichenfolgen, auf die die Member verweisen.
[in] cbBufSize
Die Größe des Puffers, auf den der lpLockStatus-Parameter in Bytes verweist.
[out] pcbBytesNeeded
Ein Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die benötigt werden, um alle Sperr-status Informationen zurückzugeben, wenn die Funktion 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 Fehlercodes können von den Registrierungsfunktionen festgelegt werden, die vom Dienststeuerungs-Manager aufgerufen werden.
Rückgabecode | Beschreibung |
---|---|
|
Das Handle verfügt nicht über das zugriffsrecht SC_MANAGER_QUERY_LOCK_STATUS. |
|
Es gibt mehr Sperrinformationen status, als in den puffer lpLockStatus passen würden. Die Anzahl der Bytes, die zum Abrufen aller Informationen erforderlich sind, wird im parameter pcbBytesNeeded zurückgegeben. Nichts wird in lpLockStatus geschrieben. |
|
Das angegebene Handle ist ungültig. |
Hinweise
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, gibt die Struktur den Kontonamen des Benutzers an, der die Sperre besitzt, und die Dauer, für die die Sperre gehalten wurde.
Ein Prozess ruft die LockServiceDatabase-Funktion auf, um den Besitz einer Datenbanksperre des Dienststeuerungs-Managers und der UnlockServiceDatabase-Funktion zum Freigeben der Sperre zu erlangen.
Hinweis
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 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 |