Função GetServiceDirectory (winsvc.h)
Retorna um caminho para um local de sistema de arquivos por serviço para um serviço para ler e/ou gravar o estado.
Sintaxe
DWORD GetServiceDirectory(
SERVICE_STATUS_HANDLE hServiceStatus,
SERVICE_DIRECTORY_TYPE eDirectoryType,
PWCHAR lpPathBuffer,
DWORD cchPathBufferLength,
DWORD *lpcchRequiredBufferLength
);
Parâmetros
hServiceStatus
Um identificador para a estrutura de informações status para o serviço atual. Esse identificador é retornado pela função RegisterServiceCtrlHandler .
eDirectoryType
Um membro da enumeração SERVICE_DIRECTORY_TYPE que identifica o tipo de caminho de diretório por serviço a ser recuperado.
lpPathBuffer
Um buffer alocado pelo chamador no qual a cadeia de caracteres de caminho será copiada. Se NULL, a chamada de função falhará com ERROR_INSUFFICIENT_BUFFER e retornará o comprimento do buffer necessário, em WCHARs, em lpcchRequiredBufferLength. Se não for NULL, o comprimento do buffer deverá ser especificado em cchPathBufferLength. O caminho, se gravado, será encerrado em NULL.
cchPathBufferLength
O comprimento do buffer fornecido em lpPathBuffer, em unidades do WCHARS. Esse argumento será ignorado se lpPathBuffer for NULL.
lpcchRequiredBufferLength
Esse valor é definido como o comprimento necessário do buffer em unidades de WCHARs. Esse comprimento inclui o caractere NULL de terminação.
Valor retornado
Retorna ERROR_SUCCESS quando todas as operações são concluídas com êxito e o caminho de estado encerrado por NULL é gravado no lpPathBuffer. Retorna ERROR_INSUFFICIENT_BUFFER se lpPathBuffer não era grande o suficiente para conter o caminho de estado ou se lpPathBuffer era NULL. Nesse caso, o comprimento do buffer necessário em WCHARs é retornado por meio de lpcchRequiredBufferLength. Se ocorrer alguma outra falha, um código de erro Win32 será retornado.
Comentários
Para ServiceDirectoryPersistentState, a segurança do diretório é definida para fornecer apenas acesso de gravação à conta do sistema local e ao SID do serviço. Verifique se os SIDs de serviço estão habilitados para qualquer serviço que chame essa API. Para obter mais informações, consulte SERVICE_SID_INFO.
Para uma API semelhante que fornece o estado do serviço que pode ser compartilhado com programas associados, consulte GetSharedServiceDirectory.
Todos os diretórios de estado do serviço são excluídos pelo gerenciador de controle de serviço depois que o serviço é desinstalado.
Requisitos
Cliente mínimo com suporte | Windows 10, versão 2004 (10.0; Build 19041) |
Servidor mínimo com suporte | Windows Server, versão 2004 (10.0; Build 19041) |
Cabeçalho | winsvc.h |
Biblioteca | Onecore.lib |