vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Service API parameter error 
Autor: Urot
Datum: 11.08.04 13:33

hallo zusammen

hatte schonmal wegen service gefragt aber was mich an den .net service klassen stört ist das ich da einen installer benutzen muss oder diese installutil exe beilegen muss
ich hab danahc gleich nicht mehr weitergelesen hehe weil für ein 20 - 30 kb tool lohnt das nun wirklich nicht ich hab jetz mal angefangen mich mit der serviceapi auseinanderzusetzen aber es ist horror ;)

das handle zum servicemanager krieg ich noch und schliessen klappt auch
nur wenn ich den service mit createservice(13parameter) ,
versuche zu "installieren" , dann bekomme ich einen:

ERROR_INVALID_PARAMETER A parameter that was specified is invalid.

ich glaube es handelt sich um lpBinaryPathName oder den username unter dem das gestartet wird in der deklaration von api-viewer lp in der msdn hiess es anders aber das ist ja egal oder ??

hoffe die fehlerbeschreibung ist so ausführlich das mir wer helfen kann ;)
ich teste seit gestern

hier mein code ::

    Declare Function OpenSCManager Lib "advapi32.dll" Alias "OpenSCManagerA" ( _
      ByVal lpMachineName As String, ByVal lpDatabaseName As String, ByVal _
      dwDesiredAccess As Integer) As IntPtr
    Private Declare Function CreateService Lib "advapi32.dll" Alias _
    "CreateServiceA" (ByVal hSCManager As IntPtr, ByVal lpServiceName As _
    String, ByVal lpDisplayName As String, ByVal dwDesiredAccess As Integer, _
    ByVal dwServiceType As Integer, ByVal dwStartType As Integer, ByVal _
    dwErrorControl As Integer, ByVal lpBinaryPathName As String, ByVal _
    lpLoadOrderGroup As String, ByRef lpdwTagId As Integer, ByVal _
    lpDependencies As String, ByVal lp As String, ByVal lpPassword As String) _
    As IntPtr
    Private Declare Function CloseServiceHandle Lib "advapi32.dll" (ByVal _
    hSCObject As IntPtr) As Integer
 
    ' constanten für openscmanager
    Private Const SERVICES_ACTIVE_DATABASE As String = "ServicesActive"
    Private Const SC_MANAGER_CONNECT As Long = &H1
    Private Const SC_MANAGER_CREATE_SERVICE As Long = &H2
    Private Const SC_MANAGER_ENUMERATE_SERVICE As Long = &H4
    Private Const SC_MANAGER_LOCK As Long = &H8
    Private Const SC_MANAGER_MODIFY_BOOT_CONFIG As Long = &H20
    Private Const SC_MANAGER_QUERY_LOCK_STATUS As Long = &H10
    Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000&
    Private Const SC_MANAGER_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or _
      SC_MANAGER_CONNECT Or SC_MANAGER_CREATE_SERVICE Or _
      SC_MANAGER_ENUMERATE_SERVICE Or SC_MANAGER_LOCK Or _
      SC_MANAGER_QUERY_LOCK_STATUS Or SC_MANAGER_MODIFY_BOOT_CONFIG)
 
 
    ' constanten für createservice
    Private Const SERVICE_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or _
      SERVICE_QUERY_CONFIG Or SERVICE_CHANGE_CONFIG Or SERVICE_QUERY_STATUS Or _
      SERVICE_ENUMERATE_DEPENDENTS Or SERVICE_START Or SERVICE_STOP Or _
      SERVICE_PAUSE_CONTINUE Or SERVICE_INTERROGATE Or _
      SERVICE_USER_DEFINED_CONTROL)
    Private Const SERVICE_AUTO_START As Long = &H2
    Private Const SERVICE_CHANGE_CONFIG As Long = &H2
    Private Const SERVICE_ENUMERATE_DEPENDENTS As Long = &H8
    Private Const SERVICE_ERROR_IGNORE As Long = &H0
    Private Const SERVICE_INTERROGATE As Long = &H80
    Private Const SERVICE_PAUSE_CONTINUE As Long = &H40
    Private Const SERVICE_QUERY_CONFIG As Long = &H1
    Private Const SERVICE_QUERY_STATUS As Long = &H4
    Private Const SERVICE_START As Long = &H10
    Private Const SERVICE_STOP As Long = &H20
    Private Const SERVICE_USER_DEFINED_CONTROL As Long = &H100
    Private Const SERVICE_WIN32_OWN_PROCESS As Long = &H10
 
    Private Declare Function GetLastError Lib "kernel32.dll" () As Long
    Sub setservice()
        ' get handle to scmanager funktioniert
        Dim hSC_Manager As IntPtr = OpenSCManager("", SERVICES_ACTIVE_DATABASE, _
          SC_MANAGER_ALL_ACCESS)
        ' create the service hier ist das problem
        Dim hService As IntPtr = CreateService(hSC_Manager, "Servicename", _
          "Displayname", SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, _
          SERVICE_AUTO_START, SERVICE_ERROR_IGNORE, Chr(34) & _
          Application.StartupPath & "\" & Chr(34), "", 0, "", "NT" & _
          "AUTHORITY\LocalService", "")
        MessageBox.Show(GetLastError)
        ' closeservicehandle funktioniert returnvalue = nonzero
        CloseServiceHandle(hSC_Manager)
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Service API parameter error1.577Urot11.08.04 13:33
Re: Service API parameter error715Urot11.08.04 14:26
Re: Service API parameter error706WaldiMaywood11.08.04 14:57
Re: Service API parameter error664Urot11.08.04 15:07
Re: Service API parameter error676Drapondur11.08.04 16:07
Re: Service API parameter error679Urot11.08.04 16:20
Re: Service API parameter error742Drapondur11.08.04 18:19
Re: Service API parameter error720Urot11.08.04 18:21
Re: Service API parameter error752Urot11.08.04 18:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel