QueryServiceLockStatusA, fonction (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 QueryServiceLockStatusA(
[in] SC_HANDLE hSCManager,
[out, optional] LPQUERY_SERVICE_LOCK_STATUSA 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é du service et droits d’accès.
[out, optional] lpLockStatus
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 pointent ses membres.
[in] cbBufSize
Taille de la mémoire tampon vers laquelle pointe le paramètre lpLockStatus , en octets.
[out] pcbBytesNeeded
Pointeur vers une variable qui reçoit le nombre d’octets nécessaires pour retourner toutes les informations de status de verrou, en cas d’échec de la fonction.
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 status de verrouillage 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 de la fonction UnlockServiceDatabase pour libérer le verrou.
Notes
L’en-tête winsvc.h définit QueryServiceLockStatus en tant qu’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. La combinaison 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
Condition requise | Valeur |
---|---|
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 |