Função QueryServiceLockStatusA (winsvc.h)
[Essa função não tem efeito a partir do Windows Vista.]
Recupera o status de bloqueio do banco de dados do gerenciador de controle de serviço especificado.
Sintaxe
BOOL QueryServiceLockStatusA(
[in] SC_HANDLE hSCManager,
[out, optional] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded
);
Parâmetros
[in] hSCManager
Um identificador para o banco de dados do gerenciador de controle de serviço. A função OpenSCManager retorna esse identificador, que deve ter o acesso SC_MANAGER_QUERY_LOCK_STATUS correto. Para obter mais informações, consulte Segurança do serviço e Direitos de Acesso.
[out, optional] lpLockStatus
Um ponteiro para uma estrutura QUERY_SERVICE_LOCK_STATUS que recebe o bloqueio status do banco de dados especificado é retornado, além das cadeias de caracteres para as quais seus membros apontam.
[in] cbBufSize
O tamanho do buffer apontado pelo parâmetro lpLockStatus , em bytes.
[out] pcbBytesNeeded
Um ponteiro para uma variável que recebe o número de bytes necessários para retornar todas as informações de status de bloqueio, se a função falhar.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Os códigos de erro a seguir podem ser definidos pelo gerenciador de controle de serviço. Outros códigos de erro podem ser definidos pelas funções do Registro que são chamadas pelo gerenciador de controle de serviço.
Código de retorno | Descrição |
---|---|
|
O identificador não tem o acesso de SC_MANAGER_QUERY_LOCK_STATUS correto. |
|
Há mais informações de status de bloqueio do que caberia no buffer lpLockStatus. O número de bytes necessários para obter todas as informações é retornado no parâmetro pcbBytesNeeded . Nada é escrito em lpLockStatus. |
|
O identificador especificado é inválido. |
Comentários
A função QueryServiceLockStatus retorna uma estrutura QUERY_SERVICE_LOCK_STATUS que indica se o banco de dados especificado está bloqueado. Se o banco de dados estiver bloqueado, a estrutura fornecerá o nome da conta do usuário que possui o bloqueio e o período de tempo que o bloqueio foi mantido.
Um processo chama a função LockServiceDatabase para adquirir a propriedade de um bloqueio de banco de dados do gerenciador de controle de serviço e a função UnlockServiceDatabase para liberar o bloqueio.
Observação
O cabeçalho winsvc.h define QueryServiceLockStatus como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winsvc.h (inclua Windows.h) |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |