Voltar à lista
Windows Win32Serviçosadvapi32.dll

EnumServicesStatusExW

Enumera os serviços registrados no SCM, com filtros por tipo e estado.

Descrição

Análogo a `systemctl list-units --type=service` no Linux.

Header: winsvc.hDLL: advapi32.dll

Assinatura

BOOL EnumServicesStatusExW(
    SC_HANDLE hSCManager,
    SC_ENUM_TYPE InfoLevel,
    DWORD dwServiceType,
    DWORD dwServiceState,
    LPBYTE lpServices,
    DWORD cbBufSize,
    LPDWORD pcbBytesNeeded,
    LPDWORD lpServicesReturned,
    LPDWORD lpResumeHandle,
    LPCWSTR pszGroupName
);

Parâmetros

ParâmetroTipoDescrição
hSCManagerSC_HANDLEHandle do SCM, aberto com SC_MANAGER_ENUMERATE_SERVICE.
InfoLevelSC_ENUM_TYPEDeve ser SC_ENUM_PROCESS_INFO.
dwServiceTypeDWORDFiltro de tipo de serviço.
dwServiceStateDWORDFiltro de estado: SERVICE_ACTIVE, SERVICE_INACTIVE, SERVICE_STATE_ALL.
lpServicesLPBYTERecebe o array de serviços encontrados.
cbBufSizeDWORDTamanho de `lpServices`.
pcbBytesNeededLPDWORDRecebe o tamanho necessário se o buffer for pequeno demais.
lpServicesReturnedLPDWORDRecebe o número de serviços retornados.
lpResumeHandleLPDWORDSuporte a paginação de resultados entre chamadas.
pszGroupNameLPCWSTRFiltro por grupo de carregamento, ou NULL.

Valor de retorno

Diferente de zero em sucesso; 0 em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_MORE_DATA(234)
Há mais dados disponíveis do que o buffer comporta.
ERROR_ACCESS_DENIED(5)
Acesso negado.

Relacionadas