Fonction QueryServiceLockStatusW (winsvc.h)
[Cette fonction n’a aucun effet à partir de Windows Vista.]
Récupère le status de verrou de la base de données du gestionnaire de contrôle de service spécifiée.
Syntaxe
BOOL QueryServiceLockStatusW(
[in] SC_HANDLE hSCManager,
[out, optional] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded
);
Paramètres
[in] hSCManager
Handle de la base de données du gestionnaire de contrôle de service. La fonction OpenSCManager retourne ce handle, qui doit avoir le droit d’accès SC_MANAGER_QUERY_LOCK_STATUS. Pour plus d’informations, consultez Sécurité des services et droits d’accès.
[out, optional] lpLockStatus
Un pointeur vers une structure de QUERY_SERVICE_LOCK_STATUS qui reçoit le verrou status de la base de données spécifiée est retourné, ainsi que les chaînes vers lesquelles ses membres pointent.
[in] cbBufSize
Taille de la mémoire tampon pointée vers le paramètre lpLockStatus , en octets.
[out] pcbBytesNeeded
Pointeur vers une variable qui reçoit le nombre d’octets nécessaires pour retourner tous les status informations de verrou, si la fonction échoue.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Les codes d’erreur suivants peuvent être définis par le gestionnaire de contrôle de service. D’autres codes d’erreur peuvent être définis par les fonctions de Registre appelées par le gestionnaire de contrôle de service.
Code de retour | Description |
---|---|
|
Le handle n’a pas le droit d’accès SC_MANAGER_QUERY_LOCK_STATUS. |
|
Il y a plus d’informations de verrouillage status que ne le feraient dans la mémoire tampon lpLockStatus. Le nombre d’octets requis pour obtenir toutes les informations est retourné dans le paramètre pcbBytesNeeded. Rien n’est écrit dans lpLockStatus. |
|
Le handle spécifié n’est pas valide. |
Remarques
La fonction QueryServiceLockStatus retourne une structure QUERY_SERVICE_LOCK_STATUS qui indique si la base de données spécifiée est verrouillée. Si la base de données est verrouillée, la structure fournit le nom du compte de l’utilisateur propriétaire du verrou et la durée pendant laquelle le verrou a été conservé.
Un processus appelle la fonction LockServiceDatabase pour acquérir la propriété d’un verrou de base de données du gestionnaire de contrôle de service et la fonction UnlockServiceDatabase pour libérer le verrou.
Notes
L’en-tête winsvc.h définit QueryServiceLockStatus comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winsvc.h (inclure Windows.h) |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |