Ich möchte p/aufrufen die Windows API-Funktion ChangeServiceConfig2 zum Festlegen der Beschreibung und/oder "Start verzögert" -Flag für einen Dienst (und möglicherweise mehr). Das Besondere daran ist, dass je nach dem, was Sie ändern möchten, ein Zeiger auf verschiedene Strukturen verwendet wird.Wie purchase ChangeServiceConfig2 von C#?
Um beispielsweise den Beschreibungstext eines Service zu ändern, müssen Sie ihn auf eine SERVICE_DESCRIPTION-Struktur verweisen und das verzögerte Flag so ändern, dass Sie auf eine SERVICE_DELAYED_AUTO_START_INFO-Struktur verweisen.
private static extern bool ChangeServiceConfig2(IntPtr hService, int dwInfoLevel, [MarshalAs(UnmanagedType.Struct)] ref SERVICE_DESCRIPTION lpInfo);
private static extern bool ChangeServiceConfig2(IntPtr hService, int dwInfoLevel, [MarshalAs(UnmanagedType.Struct)] ref SERVICE_DELAYED_AUTO_START_INFO lpInfo);
Ich möchte fragen, ob es eine bessere Lösung ist, die ein weiteres Dutzend oder so Überlastungen nicht erfordern würde, wenn ich völlig wollen:
Ich habe dies mehrere Überlastungen der api-Funktion durch die Schaffung wie diese gelöst Prototyp es?
Duplizieren [von diesem] (http://stackoverflow.com/questions/23270920/set-existing-service-to-auto-delayed-start)? –
Nein, nicht wirklich ... Die Frage ist über Prototyping der P/Invoke, nicht wie man einen Dienst auf verzögerte Start einstellen ... – wexman
Ich verstehe. Ich dachte mir, dass in diesem Q & A, dass Prototyping Problem gelöst wurde: Haben Sie [pinvoke.net] (http://pinvoke.net/default.aspx/advapi32/ChangeServiceConfig2.html) überprüft? –