Função GetSharedServiceDirectory (winsvc.h)
Retorna um caminho para um local de sistema de arquivos por serviço para um serviço e programas associados para ler e/ou gravar o estado.
Sintaxe
DWORD GetSharedServiceDirectory(
SC_HANDLE ServiceHandle,
SERVICE_SHARED_DIRECTORY_TYPE DirectoryType,
PWCHAR PathBuffer,
DWORD PathBufferLength,
DWORD *RequiredBufferLength
);
Parâmetros
ServiceHandle
Um identificador para o serviço. Esse identificador é retornado pela função OpenService .
DirectoryType
Um membro da enumeração SERVICE_SHARED_DIRECTORY_TYPE que identifica o tipo de caminho de diretório compartilhado por serviço a ser recuperado.
PathBuffer
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 RequiredBufferLength. Se não for NULL, o comprimento do buffer deverá ser especificado em PathBufferLength. O caminho, se gravado, será encerrado em NULL.
PathBufferLength
O comprimento do buffer fornecido em PathBuffer, em unidades do WCHARS. Esse argumento será ignorado se PathBuffer for NULL.
RequiredBufferLength
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 forem concluídas com êxito e o caminho de estado encerrado por NULL for gravado no PathBuffer. Retorna ERROR_INSUFFICIENT_BUFFER se PathBuffer não era grande o suficiente para conter o caminho de estado ou se PathBuffer era NULL. Nesse caso, o comprimento do buffer necessário em WCHARs é retornado por meio de RequiredBufferLength. Se ocorrer alguma outra falha, um código de erro Win32 será retornado.
Comentários
Para ServiceSharedDirectoryPersistentState, a segurança do diretório é definida para fornecer apenas acesso de gravação à conta do sistema local, ao SID de serviço e aos administradores locais. 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 exclusivamente para uso pelo próprio serviço, consulte GetServiceDirectory.
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 11 (Build 22000) |
Servidor mínimo com suporte | Windows Server 2022 (Build 20348) |
Cabeçalho | winsvc.h |
Biblioteca | Onecore.lib |