Función GetSharedServiceDirectory (winsvc.h)

Devuelve una ruta de acceso para una ubicación del sistema de archivos por servicio para un servicio y los programas asociados en los que se va a leer o escribir el estado.

Sintaxis

DWORD GetSharedServiceDirectory(
  SC_HANDLE                     ServiceHandle,
  SERVICE_SHARED_DIRECTORY_TYPE DirectoryType,
  PWCHAR                        PathBuffer,
  DWORD                         PathBufferLength,
  DWORD                         *RequiredBufferLength
);

Parámetros

ServiceHandle

Identificador del servicio. La función OpenService devuelve este identificador.

DirectoryType

Miembro de la enumeración SERVICE_SHARED_DIRECTORY_TYPE que identifica el tipo de ruta de acceso de directorio compartido por servicio que se va a recuperar.

PathBuffer

Búfer asignado por el autor de la llamada en el que se copiará la cadena de ruta de acceso. Si es NULL, se producirá un error en la llamada de función con ERROR_INSUFFICIENT_BUFFER y se devolverá la longitud del búfer necesaria, en WCHAR, en RequiredBufferLength. Si no es NULL, la longitud del búfer debe especificarse en PathBufferLength. La ruta de acceso, si se escribe, finalizará NULL.

PathBufferLength

Longitud del búfer proporcionado en PathBuffer, en unidades de WCHARS. Este argumento se omite si PathBuffer es NULL.

RequiredBufferLength

Este valor se establece en la longitud necesaria del búfer en unidades de WCHAR. Esta longitud incluye el carácter NULL de terminación.

Valor devuelto

Devuelve ERROR_SUCCESS cuando todas las operaciones se completan correctamente y la ruta de acceso de estado terminada en NULL se escribe en PathBuffer. Devuelve ERROR_INSUFFICIENT_BUFFER si PathBuffer no era lo suficientemente grande como para contener la ruta de acceso de estado, o si PathBuffer era NULL. En este caso, la longitud de búfer necesaria en WCHAR se devuelve a través de RequiredBufferLength. Si se produce algún otro error, se devuelve un código de error win32.

Comentarios

Para ServiceSharedDirectoryPersistentState, la seguridad del directorio se establece para proporcionar solo acceso de escritura a la cuenta del sistema local, al SID del servicio y a los administradores locales. Asegúrese de que los SID de servicio están habilitados para cualquier servicio que llame a esta API. Para obtener más información, consulte SERVICE_SID_INFO.

Para obtener una API similar que proporcione el estado de servicio exclusivamente para su uso por el propio servicio, consulte GetServiceDirectory.

El administrador de control de servicios elimina todos los directorios de estado del servicio una vez que se desinstala el servicio.

Requisitos

   
Cliente mínimo compatible Windows 11 (compilación 22000)
Servidor mínimo compatible Windows Server 2022 (compilación 20348)
Encabezado winsvc.h
Library Onecore.lib

Consulte también

OpenService

GetServiceDirectory

SERVICE_SID_INFO