Compartir a través de


Función GetServiceDirectory (winsvc.h)

Devuelve una ruta de acceso para una ubicación del sistema de archivos por servicio en la que un servicio lee o escribe el estado.

Sintaxis

DWORD GetServiceDirectory(
  SERVICE_STATUS_HANDLE  hServiceStatus,
  SERVICE_DIRECTORY_TYPE eDirectoryType,
  PWCHAR                 lpPathBuffer,
  DWORD                  cchPathBufferLength,
  DWORD                  *lpcchRequiredBufferLength
);

Parámetros

hServiceStatus

Identificador de la estructura de información de estado para el servicio actual. La función RegisterServiceCtrlHandler devuelve este identificador.

eDirectoryType

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

lpPathBuffer

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 devolverá la longitud del búfer necesaria, en WCHAR, en lpcchRequiredBufferLength. Si no es NULL, la longitud del búfer debe especificarse en cchPathBufferLength. La ruta de acceso, si está escrita, será NULL terminada.

cchPathBufferLength

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

lpcchRequiredBufferLength

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 lpPathBuffer. Devuelve ERROR_INSUFFICIENT_BUFFER si lpPathBuffer no era lo suficientemente grande como para contener la ruta de acceso de estado, o si lpPathBuffer era NULL. En este caso, la longitud de búfer necesaria en WCHAR se devuelve a través de lpcchRequiredBufferLength. Si se produce algún otro error, se devuelve un código de error win32.

Comentarios

Para ServiceDirectoryPersistentState, la seguridad del directorio se establece para proporcionar acceso de escritura solo a la cuenta del sistema local y al SID del servicio. 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 del servicio que se puede compartir con los programas asociados, consulte GetSharedServiceDirectory.

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

Requisitos

   
Cliente mínimo compatible Windows 10, versión 2004 (10.0; Compilación 19041)
Servidor mínimo compatible Windows Server, versión 2004 (10.0; Compilación 19041)
Encabezado winsvc.h
Library Onecore.lib

Consulte también

RegisterServiceCtrlHandler

GetSharedServiceDirectory

SERVICE_SID_INFO