Compartir a través de


Función GetServiceKeyNameA (winsvc.h)

Recupera el nombre del servicio especificado.

Sintaxis

BOOL GetServiceKeyNameA(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCSTR    lpDisplayName,
  [out, optional] LPSTR     lpServiceName,
  [in, out]       LPDWORD   lpcchBuffer
);

Parámetros

[in] hSCManager

Identificador de la base de datos del administrador de control de servicios del equipo, tal como lo devuelve OpenSCManager.

[in] lpDisplayName

Nombre para mostrar del servicio. Esta cadena tiene una longitud máxima de 256 caracteres.

[out, optional] lpServiceName

Puntero a un búfer que recibe el nombre del servicio. Si se produce un error en la función, este búfer contendrá una cadena vacía.

El tamaño máximo de esta matriz es de 4 000 bytes. Para determinar el tamaño necesario, especifique NULL para este parámetro y 0 para el parámetro lpcchBuffer . Se producirá un error en la función y GetLastError devolverá ERROR_INSUFFICIENT_BUFFER. El parámetro lpcchBuffer recibirá el tamaño necesario.

[in, out] lpcchBuffer

Puntero a variable que especifica el tamaño del búfer al que apunta el parámetro lpServiceName , en TCHAR. Cuando se devuelve la función, este parámetro contiene el tamaño del nombre del servicio, en TCHAR, excluyendo el carácter de terminación null.

Si el búfer al que apunta lpServiceName es demasiado pequeño para contener el nombre del servicio, la función no almacena ningún dato en él. Cuando se devuelve la función, lpcchBuffer contiene el tamaño del nombre del servicio, excepto el terminador NULL.

Valor devuelto

Si las funciones se ejecutan correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Hay dos nombres para un servicio: el nombre del servicio y el nombre para mostrar. El nombre del servicio es el nombre de la clave del servicio en el Registro. El nombre para mostrar es un nombre descriptivo que aparece en la aplicación del panel de control Servicios y se usa con el comando NET START . Ambos nombres se especifican con la función CreateService y se pueden modificar con la función ChangeServiceConfig . La información especificada para un servicio se almacena en una clave con el mismo nombre que el nombre del servicio en la clave del RegistroServiceName de serviciosCurrentControlSet\\del\sistema HKEY_LOCAL_MACHINE\.

Para asignar el nombre del servicio al nombre para mostrar, use la función GetServiceDisplayName . Para asignar el nombre para mostrar al nombre del servicio, use la función GetServiceKeyName .

Nota:

El encabezado winsvc.h define GetServiceKeyName como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winsvc.h (incluye Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

GetServiceDisplayName

OpenSCManager

Funciones de servicio