Partager via


QueryServiceLockStatusA, fonction (winsvc.h)

[Cette fonction n’a aucun effet à compter de Windows Vista.]

Récupère l’état du verrou de la base de données du gestionnaire de contrôle de service spécifié.

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é des services et droits d’accès.

[out, optional] lpLockStatus

Un pointeur vers une structure QUERY_SERVICE_LOCK_STATUS qui reçoit l’état de verrouillage de la base de données spécifiée est retourné, ainsi que les chaînes auxquelles ses membres pointent.

[in] cbBufSize

Taille de la mémoire tampon pointée par 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 d’état de verrouillage, si la fonction échoue.

Valeur de retour

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’erreur étendues, 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.

Retourner le code Description
ERROR_ACCESS_DENIED
Le handle n’a pas le droit d’accès SC_MANAGER_QUERY_LOCK_STATUS.
ERROR_INSUFFICIENT_BUFFER
Il existe plus d’informations d’état de verrouillage que le lpLockStatus tampon. Le nombre d’octets requis pour obtenir toutes les informations est retourné dans le paramètre bytesNeededed. Rien n’est écrit dans lpLockStatus.
ERROR_INVALID_HANDLE
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 de 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.

Note

L’en-tête winsvc.h définit QueryServiceLockStatus comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winsvc.h (inclure Windows.h)
bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

LockServiceDatabase

OpenSCManager

QUERY_SERVICE_LOCK_STATUS

de configuration du service

Fonctions de service

UnlockServiceDatabase