Compartilhar via


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

Confira também

Openservice

GetServiceDirectory

SERVICE_SID_INFO