[英]How to p/invoke ChangeServiceConfig2 from c#?
我想p /調用Windows api函數ChangeServiceConfig2來設置服務的描述和/或“啟動延遲”標志(可能還有更多)。 特殊的是,它需要根據您要更改的內容指向不同的結構。
例如,要更改服務的描述文本,您需要將其指向SERVICE_DESCRIPTION結構,並且要更改延遲標志,請指向SERVICE_DELAYED_AUTO_START_INFO結構。
我通過創建api函數的幾個重載來解決此問題,如下所示:
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);
我想問問是否有更好的解決方案,如果我想完整地制作原型,則不需要另外十幾個重載?
只是查看了ServiceInstaller類的代碼,發現他們正在以相同的方式進行操作,因此這不會是完全錯誤的...
不過,仍然開放征求意見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.