yuanyuanxiang and deepseek-v4-pro
9eed43bc8d
Feature: Add MCP device management-control tools (kill/window/service/power)
...
Add P7 management-control tools behind a single McpManage flag (plus
McpReadonly=0): kill_process, operate_window, control_service and
power_action. The write tools run a ready->confirm lifecycle on their
sub-connection, using a new followUp/followUpSent field to tell the two
arrivals of the same TOKEN_*LIST apart; the write command and the follow-up
refresh command go out as two separate Send2Client calls, with a new
WaitSendIdle() (context.h / Server.h) draining the outbound buffer in between
so the same buffer is never WSASend'd concurrently.
McpSettingsDlg gains a "management operations" checkbox (IDC_MCP_MANAGE), the
main toolbar gains an MCP entry button, and en/de/zh-TW strings are synced.
power_action is fire-and-forget over the main connection (no confirmation).
Verified end-to-end against a real Windows 10/VMware client: kill_process
returns remaining:[] and operate_window/control_service return ok:true with
their confirm packet arriving after an HTTP split. Verification surfaced a
prerequisite parser bug, fixed separately in a72e6eb , where HeaderParser
latched m_bShouldUnmask FALSE on HTTP continuation chunks and dropped the
confirm packet.
Co-Authored-By: deepseek-v4-pro
2026-10-01 16:56:30 +02:00
..
2026-09-06 09:39:59 +02:00
2026-10-01 16:56:30 +02:00
2026-04-19 22:55:21 +02:00
2026-09-06 09:39:59 +02:00
2026-10-01 16:56:30 +02:00
2026-04-19 22:55:21 +02:00
2026-09-06 09:39:59 +02:00
2026-09-11 16:28:37 +02:00
2026-09-11 16:28:37 +02:00
2026-04-19 22:55:21 +02:00
2026-07-14 22:32:29 +02:00
2026-04-19 22:55:21 +02:00
2026-10-01 16:56:30 +02:00
2026-10-01 16:56:30 +02:00
2026-09-10 14:42:28 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-05-23 13:37:28 +02:00
2026-05-23 13:37:28 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-09-06 09:39:59 +02:00
2026-05-10 19:46:48 +02:00
2026-08-20 17:54:33 +02:00
2026-08-15 11:09:14 +02:00
2026-07-14 15:17:31 +02:00
2026-04-19 22:55:21 +02:00
2026-08-20 17:54:33 +02:00
2026-08-20 17:54:33 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-09-03 13:29:39 +02:00
2026-09-03 13:29:39 +02:00
2026-06-20 13:01:35 +02:00
2026-06-20 13:01:35 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-10-01 16:56:30 +02:00
2026-05-22 00:31:54 +02:00
2026-05-22 00:31:54 +02:00
2026-09-10 14:42:28 +02:00
2026-04-19 22:55:21 +02:00
2026-05-05 21:21:38 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-09-06 09:39:59 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-08-16 14:37:11 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-05-10 13:50:04 +02:00
2026-05-10 13:50:04 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-09-06 09:39:59 +02:00
2026-08-20 16:36:30 +02:00
2026-04-19 22:55:21 +02:00
2026-08-16 14:37:11 +02:00
2026-08-16 14:37:11 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-05-16 19:48:39 +02:00
2026-05-16 19:48:39 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-05-11 20:22:07 +02:00
2026-05-11 20:22:07 +02:00
2026-09-08 16:34:45 +02:00
2026-05-27 15:28:56 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-07-16 00:10:12 +02:00
2026-07-16 00:10:12 +02:00
2026-04-19 22:55:21 +02:00
2026-10-01 16:56:30 +02:00
2026-10-01 16:56:30 +02:00
2026-10-01 16:56:30 +02:00
2026-10-01 16:56:30 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-08-05 20:07:21 +02:00
2026-08-06 18:13:14 +02:00
2026-04-19 22:55:21 +02:00
2026-08-05 20:07:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-05-25 00:16:39 +02:00
2026-04-25 17:30:07 +02:00
2026-05-13 13:05:31 +02:00
2026-05-13 13:05:31 +02:00
2026-05-21 23:33:13 +02:00
2026-04-19 22:55:21 +02:00
2026-09-09 17:13:17 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-09-11 16:28:37 +02:00
2026-09-09 17:13:17 +02:00
2026-08-20 16:36:30 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-10-01 16:56:30 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-06-06 13:02:29 +02:00
2026-04-19 22:55:21 +02:00
2026-09-11 16:28:37 +02:00
2026-09-11 16:28:37 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-07-13 19:02:25 +02:00
2026-08-26 21:24:07 +02:00
2026-08-13 12:59:29 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-05-10 17:36:46 +02:00
2026-09-03 13:29:39 +02:00
2026-09-03 13:29:39 +02:00
2026-04-26 14:41:42 +02:00
2026-04-26 14:41:42 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-09-02 19:13:40 +02:00
2026-04-19 22:55:21 +02:00
2026-04-19 22:55:21 +02:00
2026-05-17 18:46:21 +02:00
2026-09-11 12:48:21 +02:00
2026-08-25 14:14:26 +02:00
2026-04-19 22:55:21 +02:00
2026-05-30 18:10:15 +02:00
2026-05-30 18:10:15 +02:00