Funzione QueryServiceLockStatusA (winsvc.h)

[Questa funzione non ha alcun effetto a partire da Windows Vista.]

Recupera lo stato di blocco del database di gestione controllo del servizio specificato.

Sintassi

BOOL QueryServiceLockStatusA(
  [in]            SC_HANDLE                    hSCManager,
  [out, optional] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
  [in]            DWORD                        cbBufSize,
  [out]           LPDWORD                      pcbBytesNeeded
);

Parametri

[in] hSCManager

Handle per il database di Gestione controllo del servizio. La funzione OpenSCManager restituisce questo handle, che deve avere il diritto di accesso SC_MANAGER_QUERY_LOCK_STATUS. Per altre informazioni, vedere Sicurezza del servizio e diritti di accesso.

[out, optional] lpLockStatus

Viene restituito un puntatore a una struttura QUERY_SERVICE_LOCK_STATUS che riceve lo stato di blocco del database specificato, oltre alle stringhe a cui puntano i relativi membri.

[in] cbBufSize

Dimensioni del buffer a cui punta il parametro lpLockStatus , in byte.

[out] pcbBytesNeeded

Puntatore a una variabile che riceve il numero di byte necessari per restituire tutte le informazioni sullo stato del blocco, se la funzione ha esito negativo.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

I codici di errore seguenti possono essere impostati dal gestore di controllo del servizio. Altri codici di errore possono essere impostati dalle funzioni del Registro di sistema chiamate dal gestore di controllo del servizio.

Codice restituito Descrizione
ERROR_ACCESS_DENIED
L'handle non dispone del diritto di accesso SC_MANAGER_QUERY_LOCK_STATUS.
ERROR_INSUFFICIENT_BUFFER
Sono disponibili più informazioni sullo stato di blocco rispetto al buffer lpLockStatus . Il numero di byte necessari per ottenere tutte le informazioni viene restituito nel parametro pcbBytesNeeded. Niente è scritto in lpLockStatus.
ERROR_INVALID_HANDLE
L'handle specificato non è valido.

Commenti

La funzione QueryServiceLockStatus restituisce una struttura QUERY_SERVICE_LOCK_STATUS che indica se il database specificato è bloccato. Se il database è bloccato, la struttura fornisce il nome dell'account dell'utente proprietario del blocco e il periodo di tempo in cui è stato mantenuto il blocco.

Un processo chiama la funzione LockServiceDatabase per acquisire la proprietà di un blocco del database di Gestione controllo del servizio e la funzione UnlockServiceDatabase per rilasciare il blocco.

Nota

L'intestazione winsvc.h definisce QueryServiceLockStatus come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winsvc.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

LockServiceDatabase

OpenSCManager

QUERY_SERVICE_LOCK_STATUS

Configurazione del servizio

Funzioni del servizio

UnlockServiceDatabase