Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает время ожидания для конкретной операции.
Синтаксис
MI_INLINE MI_Result MI_OperationOptions_SetTimeout(
[in, out] MI_OperationOptions *options,
[in] const MI_Interval *timeout
);
Параметры
[in, out] options
Указатель на структуру MI_OperationOptions .
[in] timeout
Указатель на новое значение времени ожидания операции.
Возвращаемое значение
Значение перечисления MI_Result , указывающее код возврата функции. Это может быть один из следующих кодов.
Комментарии
Это время ожидания можно задать в параметрах назначения, вызвав функцию MI_DestinationOptions_SetTimeout . Однако иногда одна операция может занять больше времени, чем другие. Поэтому лучше задать разумное значение по умолчанию для всех операций, а затем использовать эту функцию для переопределения определенных операций, которые могут занять больше времени.
Если клиент запрашивает ход выполнения, а поставщик сообщает о ходе выполнения, интервал времени ожидания будет перезапущен после каждого отчета о ходе выполнения. Для перечислений, подписок и ассоциаций интервал представляет собой максимальную длину перед доставкой объектов до истечения времени ожидания (с учетом комментария о ходе выполнения).
Если клиент выполняет операцию (например, вызов) в сеансе CIM через удаленное управление Windows, операция может занять больше времени, чем время ожидания операции, если целевой сервер недоступен (например, из-за сбоя сервера, сбоя сети или непредвиденного исключения брандмауэра). Это чрезмерное время ожидания происходит из-за того, что операция может быть разделена на вложенные операции для получения сведений о схеме с сервера, и клиент продолжает операцию, даже если один или несколько вложенных операций получения схемы были заблокированы недоступным сервером.
Чтобы устранить эту проблему и заставить клиента сообщать о результатах без чрезмерного времени ожидания, попробуйте выполнить одно или оба из следующих действий:
-
Задайте для параметра Время задержки сети WinRM очень низкое значение, выполнив следующую команду: winrm set winrm/config/client @{NetworkDelayms="DesiredValue"} , где DesiredValue — значение задержки сети в миллисекундах. Самая низкая задержка сети, которую можно указать, составляет 500 миллисекундах.
Значение задержки сети помогает учитывать задержку сети при достижении целевого компьютера. Однако если задать небольшие значения задержки сети и времени ожидания операций, возможно, вы не сможете взаимодействовать с целевым компьютером, на доступ к которому требуется много времени. Кроме того, изменение значения задержки сети влияет на весь компьютер, а не только на одну операцию.
-
При запуске операции (вызов функции с префиксом "MI_Session_") укажите флаг MI_OPERATIONFLAGS_STANDARD_RTTI в параметре flags .
Это изменяет поведение операции таким образом, что в случае сбоя вложенного операции выборки схемы операция прерывается и завершается немедленно, а не дожидаясь завершения последующих вложенных операций схемы. Таким образом, если сервер всегда был недоступным при запуске операции, время, затраченное на завершение операции, будет равно сумме времени ожидания операции и значению сетевой задержки WinRM.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 8 |
| Минимальная версия сервера | Windows Server 2012 |
| Целевая платформа | Windows |
| Header | mi.h |
| Распространяемые компоненты | Windows Management Framework 3.0 в Windows Server 2008 R2 с пакетом обновления 1 (SP1), Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 с пакетом обновления 2 (SP2) |
См. также раздел
MI_DestinationOptions_SetTimeout