差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
cpp:sc:queryservicelockstatus [2016/04/19 13:55] tony |
cpp:sc:queryservicelockstatus [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>cpp Windows}} | + | {{tag>cpp Windows SCM}} |
====== QueryServiceLockStatus ====== | ====== QueryServiceLockStatus ====== | ||
===== Introduction ===== | ===== Introduction ===== | ||
行 10: | 行 10: | ||
因此,我們可以先檢查SCM database是否lock,再決定我們接下來該怎麼做。 | 因此,我們可以先檢查SCM database是否lock,再決定我們接下來該怎麼做。 | ||
===== How to? ===== | ===== How to? ===== | ||
+ | 要解決這問題,可以使用: | ||
+ | * API: QueryServiceLockStatus。 | ||
+ | * Command line: sc querylock。 | ||
+ | 首先來看看QueryServiceLockStatus: | ||
<code cpp> | <code cpp> | ||
BOOL IsSCMRelease(){ | BOOL IsSCMRelease(){ | ||
行 44: | 行 48: | ||
</code> | </code> | ||
- | 如果要透過command line,可以使用sc querylock | + | 若透過command line: |
<code bash> | <code bash> | ||
C:\Users\tonylin>chcp 437 & sc querylock | C:\Users\tonylin>chcp 437 & sc querylock | ||
行 58: | 行 62: | ||
* [[https://msdn.microsoft.com/zh-tw/library/windows/desktop/ms685104(v=vs.85).aspx|MSDN - SCM Handles]] | * [[https://msdn.microsoft.com/zh-tw/library/windows/desktop/ms685104(v=vs.85).aspx|MSDN - SCM Handles]] | ||
* [[http://www.tenouk.com/cpluscodesnippet/changewindowserviceconfig.html|sample code]] | * [[http://www.tenouk.com/cpluscodesnippet/changewindowserviceconfig.html|sample code]] | ||
+ | * [[https://technet.microsoft.com/zh-tw/sqlserver/ms684953|QUERY_SERVICE_LOCK_STATUS structure]] | ||
===== ===== | ===== ===== | ||
---- | ---- | ||
\\ | \\ | ||
~~DISQUS~~ | ~~DISQUS~~ |