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 |