Visual Basic - Cambiar la configuración de un servicio!!

Life is soft - evento anual de software empresarial
 
Vista:

Cambiar la configuración de un servicio!!

Publicado por Julio Cesar (3 intervenciones) el 19/12/2005 19:17:52
Hace un tiempito que estoy intentando hacer esto y la verdad es que no lo
consigo.....

Estoy tratando de cambiar la configuración de un Servicio para agregarle una
dependecia.. Lo estoy haciendo con ChangeServiceConfig pero me da el error
de que algún parámetro es invalido la verdad no logro entender cual....

Aqui esta la porción de código:

Option Explicit

Private Declare Function ChangeServiceConfig Lib "advapi32.dll" Alias
"ChangeServiceConfigA" (ByVal hService As Long, ByVal dwServiceType As Long,
ByVal dwStartType As Long, ByVal dwErrorControl As Long, ByVal
lpBinaryPathName As String, ByVal lpLoadOrderGroup As String, lpdwTagId As
Long, ByVal lpDependencies As String, ByVal lpServiceStartName As String,
ByVal lpPassword As String, ByVal lpDisplayName As String) As Long

Private Const SERVICES_ACTIVE_DATABASE As String = "ServicesActive"
Private Const SERVICE_NO_CHANGE As Long = &HFFFF&

Private Type SERVICE_STATUS
dwServiceType As Long
dwCurrentState As Long
dwControlsAccepted As Long
dwWin32ExitCode As Long
dwServiceSpecificExitCode As Long
dwCheckPoint As Long
dwWaitHint As Long
End Type


Public Sub Dependencia()

Dim hSCManager As Long, hService As Long

Dim hwnd As Long
Dim hcal As Long
Dim ss As SERVICE_STATUS

hSCManager = OpenSCManager(vbNullString, SERVICES_ACTIVE_DATABASE,
SERVICE_CHANGE_CONFIG)
hwnd = OpenService(hSCManager, "SQLBrowser", SERVICE_CHANGE_CONFIG)
hcal = QueryServiceStatus(hwnd, ss)

'*-*-*-*-*-*-*-*Esta es la linea del error*-*-*-*-*-*-
hcal = ChangeServiceConfig(hwnd, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE,
SERVICE_NO_CHANGE, vbNullString, vbNullString, &O0, "kavsvc", vbNullString,
vbNullString, vbNullString)

End Sub

El error que me da es el 87 de la libreria Advapi32 que según la
documentación de Microsoft es porque se la ha pasado un parámetro
invalido....

Por ahi lei que el problema está en los nulos, si es asi como le puedo pasar
los nulos de otra manera????

Espero me puedan ayudar........please!!!

Muchas Gracias!!!

Un saludo,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder