MMC AsyncStatus (внутри MmcListView) не отображает статус
При использовании MMC (Microsoft Management Console) 3.0 я не могу получить сообщение AsyncStatus, отображаемое в окне консоли.
Я предполагаю, что он должен отображаться в строке состояния MMC.
При использовании StandardVerb (например, OnRefresh
или же OnExpand
) по крайней мере, он работает с сообщением по умолчанию (например, Expand: In progress...
)
Тем не менее, когда я пытаюсь использовать status.ReportProgress([...])
или же status.Complete([...])
это не работает.
Пример:
class MyMMCListview : MmcListView {
[...]
protected override void OnAction(Microsoft.ManagementConsole.Action action, AsyncStatus status)
{
status.ReportProgress(1, 2, "Loading 1");
System.Threading.Thread.Sleep(3000);
status.ReportProgress(2, 2, "Loading 2");
System.Threading.Thread.Sleep(3000);
// default behavior
base.OnAction(action, status)
// Nothing done successfully
status.Complete("Done", true);
}
[...]
}
MmcListView: https://msdn.microsoft.com/en-us/library/microsoft.managementconsole.mmclistview_members(v=vs.90).aspx
AsyncStatus: https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.managementconsole.asyncstatus(v=vs.85).aspx
Какие-либо предложения?
1 ответ
Я проверял это несколько раз, и кажется, что ReportProgress
а также Complete
показывают сообщение в строке состояния только тогда, когда они вызваны из переопределения в ScopeNode
,